#defineMax100//數組長度typedefstruct{intkey;//關鍵字chardata;//其他字段}LineList;//線性表的類型voidBubbleSort(LineListR[">
歡迎來到天天文庫
瀏覽記錄
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
此文檔下載收益歸作者所有