欢迎来到天天文库
浏览记录
ID:58663409
大小:18.50 KB
页数:5页
时间:2020-10-15
《实现直接插入排序-二分法插入排序、希尔排序-冒泡排序-快速排序-直接选择排序的算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#defineMax100//数组长度typedefstruct{intkey;//关键字chardata;//其他字段}LineList;//线性表的类型voidBubbleSort(LineListR[],intn){inti,j,exchange;LineListtemp;for(i=0;ii;j--)//比较找出最小记录if(R[j].key2、R[j]=R[j-1];R[j-1]=temp;exchange=1;}if(exchange==0)//交换结束后结束return;}}/*直接插入排序,升序*/voidStraightInsertSort(LineListR[],intn){inti,j;LineListtemp;for(i=1;i=0&&temp.key3、//恢复前一个位置}R[j+1]=temp;//在j+1位置插入temp}}/*快速排序,升序*/voidQuickSort(LineListR[],ints,intt){//对R[s]至R[t]的元素进行快速排序inti=s,j=t;LineListtemp;if(si&&R[j].key>temp.key){//从右向左扫描,找第4、1个关键字小于temp.key的R[j]j--;R[i]=R[j];//找到这样的R[j],则R[i]和R[j]交换while(i5、t(LineListR[],intn){intx;intl,r,m;inti,j;/*从最先的两个元素开始排序*/for(i=1;i=l;j--)R[j+1]=R[j];R[l].key=x;}}/*直接选择排序,升序*/voidSe6、lectSort(LineListR[],intn){inti,j,k;LineListtmp;for(i=0;i7、初值while(gap>0){for(i=gap;i=0&&tmp.key8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
2、R[j]=R[j-1];R[j-1]=temp;exchange=1;}if(exchange==0)//交换结束后结束return;}}/*直接插入排序,升序*/voidStraightInsertSort(LineListR[],intn){inti,j;LineListtemp;for(i=1;i=0&&temp.key3、//恢复前一个位置}R[j+1]=temp;//在j+1位置插入temp}}/*快速排序,升序*/voidQuickSort(LineListR[],ints,intt){//对R[s]至R[t]的元素进行快速排序inti=s,j=t;LineListtemp;if(si&&R[j].key>temp.key){//从右向左扫描,找第4、1个关键字小于temp.key的R[j]j--;R[i]=R[j];//找到这样的R[j],则R[i]和R[j]交换while(i5、t(LineListR[],intn){intx;intl,r,m;inti,j;/*从最先的两个元素开始排序*/for(i=1;i=l;j--)R[j+1]=R[j];R[l].key=x;}}/*直接选择排序,升序*/voidSe6、lectSort(LineListR[],intn){inti,j,k;LineListtmp;for(i=0;i7、初值while(gap>0){for(i=gap;i=0&&tmp.key8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
3、//恢复前一个位置}R[j+1]=temp;//在j+1位置插入temp}}/*快速排序,升序*/voidQuickSort(LineListR[],ints,intt){//对R[s]至R[t]的元素进行快速排序inti=s,j=t;LineListtemp;if(si&&R[j].key>temp.key){//从右向左扫描,找第
4、1个关键字小于temp.key的R[j]j--;R[i]=R[j];//找到这样的R[j],则R[i]和R[j]交换while(i5、t(LineListR[],intn){intx;intl,r,m;inti,j;/*从最先的两个元素开始排序*/for(i=1;i=l;j--)R[j+1]=R[j];R[l].key=x;}}/*直接选择排序,升序*/voidSe6、lectSort(LineListR[],intn){inti,j,k;LineListtmp;for(i=0;i7、初值while(gap>0){for(i=gap;i=0&&tmp.key8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
5、t(LineListR[],intn){intx;intl,r,m;inti,j;/*从最先的两个元素开始排序*/for(i=1;i=l;j--)R[j+1]=R[j];R[l].key=x;}}/*直接选择排序,升序*/voidSe
6、lectSort(LineListR[],intn){inti,j,k;LineListtmp;for(i=0;i7、初值while(gap>0){for(i=gap;i=0&&tmp.key8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
7、初值while(gap>0){for(i=gap;i=0&&tmp.key8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
8、);/*输入10个整数*/for(j=0;j<10;j++)scanf("%d",&a[j]);inti,n=10;for(i=0;i
此文档下载收益归作者所有