欢迎来到天天文库
浏览记录
ID:35808385
大小:696.50 KB
页数:25页
时间:2019-04-19
《数据结构教学课件作者李学刚电子课件源代码06单元6排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单元6排序单元6排序源代码SC020201060011.源代码编号SC020201060012.源代码来源单元6排序6.2.13.问题描述直接插入排序4.程序代码voidInsertSort(SeqListR){//对顺序表R中的记录R[1...n]按递增序进行插入排序inti,j;for(i=2;i<=n;i++)//依次插入R[2],…,R[n]if(R[i].key2、/从右向左在有序区R[1...i-1]中查找R[i]的插入位置R[j+1]=R[j];//将关键字大于R[i].key的记录后移j--;}while(R[0].key3、<=n;i++)//将R[d+1...n]分别插入各组当前的有序区if(R[i].key0&&R[0].key4、(SeqListR){inti,j;for(i=1;i=i;j--)//第i趟比较if(R[j+1].key5、(low6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
2、/从右向左在有序区R[1...i-1]中查找R[i]的插入位置R[j+1]=R[j];//将关键字大于R[i].key的记录后移j--;}while(R[0].key3、<=n;i++)//将R[d+1...n]分别插入各组当前的有序区if(R[i].key0&&R[0].key4、(SeqListR){inti,j;for(i=1;i=i;j--)//第i趟比较if(R[j+1].key5、(low6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
3、<=n;i++)//将R[d+1...n]分别插入各组当前的有序区if(R[i].key0&&R[0].key4、(SeqListR){inti,j;for(i=1;i=i;j--)//第i趟比较if(R[j+1].key5、(low6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
4、(SeqListR){inti,j;for(i=1;i=i;j--)//第i趟比较if(R[j+1].key5、(low6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
5、(low6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
6、做划分,并返回基准记录的位置RecTypepivot=R[i];//用区间的第1个记录作为基准while(i=pivot.key)//pivot相当于在位置i上j--;//从右向左扫描,查找第1个关键字小于pivot.key的记录R[j]if(i7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
7、j上i++;//从左向右扫描,查找第1个关键字大于pivot.key的记录R[i]if(ipivot.keyR[j--]=R[i];//相当于交换R[i]和R[j],交换后j指针减1}R[i]=pivot;//基准记录的位置已被最后确定returni;}SC020201060061.源代码编号SC020201060062.源代码来源单元6排序6.4.13.问题描述直接选择排序4.程序代码voidSelectSort(SeqListR){inti,j,k;for(i=1;i8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
8、序(1≤i≤n-1)k=i;for(j=i+1;j<=n;j++)//在当前无序区R[i...n]中选key
此文档下载收益归作者所有