CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

直接插入排序

楼主yesiloveyou(下意识的弯了一下腰,TMD,踩狗屎了)2006-02-24 18:52:26 在 C/C++ / C++ 语言 提问

//有点问题  
   
  #include   <iostream>  
  using   namespace   std;  
   
  #define   MAXSIZE   20  
   
  struct   SqList  
  {  
  int   r[MAXSIZE+1];  
  int   length;  
  };  
   
  void   Initial(SqList   &SL,int   num[],int   len)  
  {  
  for(int   i   =   0;   i   <   len;   i++)  
  SL.r[i]   =   num[i];  
  SL.length   =   len;  
  }  
   
  void   Print(SqList   &SL)  
  {  
  for(int   i   =   0;   i   <   SL.length;   i++)  
  cout<<SL.r[i]<<"   ";  
  cout<<endl;  
  }  
  void   InsertSort(SqList   &SL)           //直接插入排序  
  {  
  int   temp;  
  for(int   i   =   1;   i   <   SL.length;   i++)  
  if(SL.r[i]<SL.r[i-1])  
  {  
  temp   =   SL.r[i];  
  for(int   j   =   i-1;   (temp   <   SL.r[j])   &&   (j   ==   0);   j--)  
  SL.r[j+1]   =   SL.r[j];  
  SL.r[j+1]   =   temp;  
  }  
  }  
  int   main()  
  {  
  SqList   SL;  
  int   num[]={49,   38,   65,   97,   76,   13,   27,   49};  
  Initial(SL,num,8);  
  cout<<"原来的数据:       ";  
  Print(SL);  
                    Initial(SL,num,8);  
  InsertSort(SL);  
  cout<<"直接插入排序:       ";  
  Print(SL);  
  return   0;  
  } 问题点数:20、回复次数:2Top

1 楼junhao_666()回复于 2006-02-24 20:22:34 得分 20

#include   <iostream>  
  using   namespace   std;  
   
  #define   MAXSIZE   20  
   
  struct   SqList  
  {  
  int   r[MAXSIZE+1];  
  int   length;  
  };  
   
  void   Initial(SqList   &SL,int   num[],int   len)  
  {  
  for(int   i   =   0;   i   <   len;   i++)  
  SL.r[i]   =   num[i];  
  SL.length   =   len;  
  }  
   
  void   Print(SqList   &SL)  
  {  
  for(int   i   =   0;   i   <   SL.length;   i++)  
  cout<<SL.r[i]<<"   ";  
  cout<<endl;  
  }  
  void   InsertSort(SqList   &SL)           //直接插入排序  
  {  
  int   temp;  
  for(int   i   =   0;   i   <   SL.length;   i++)  
  if(SL.r[i]<SL.r[i-1])  
  {  
  temp   =   SL.r[i];  
  for(int   j   =   i-1;   (temp   <   SL.r[j])   &&   (j>=   0);   j--)//这里的循环条件  
  SL.r[j+1]   =   SL.r[j];  
  SL.r[j+1]   =   temp;  
  }  
  }  
  int   main()  
  {  
  SqList   SL;  
  int   num[]={49,   38,   65,   97,   76,   13,   27,   49};  
  Initial(SL,num,8);  
  cout<<"原来的数据:       ";  
  Print(SL);  
                    Initial(SL,num,8);  
  InsertSort(SL);  
  cout<<"直接插入排序:       ";  
  Print(SL);  
  return   0;  
  }  
  Top

2 楼yesiloveyou(下意识的弯了一下腰,TMD,踩狗屎了)回复于 2006-02-24 20:57:23 得分 0

thanksTop

相关问题

  • 关于直接插入排序法,请教更快的写法.
  • C++的一个直接插入排序问题
  • 在对一组记录(60,43,100,30,21,79,65,21,90)进行直接插入排序时
  • 关于链表的插入排序
  • 有关插入排序法的知识
  • 插入、删除的排序问题!
  • 插入数据时的排序问题?
  • 想问一下,数组中的排序,比如冒泡排序,插入排序,快速排序。。。
  • TreeSet中如何按照插入先后顺续排序?
  • 如何按记录的插入顺序排序?

关键词

  • sqlist
  • maxsize
  • sl
  • define maxsize20
  • len
  • num
  • using namespace std
  • struct
  • void initial
  • length

得分解答快速导航

  • 帖主:yesiloveyou
  • junhao_666

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo