各種內部排序演算法
實現直接插入排序演算法、希爾排序、快速排序演算法、直接選擇排序演算法,並用main函式測試。
#include
typedef
struct recordtype
recordtype;
void
directinsersort
(recordtype r,
int n)
//直接插入排序
r[j+1]
=r[0];
/*將待插入記錄插入到正確位置*/
}for
(k=1
;k)printf
("%3d"
,r[k]
.key)
;printf
("\n");
}}void
shellinsert
(recordtype r,
int n,
int dk)
//希爾排序
}void
shellsort
(recordtype r,
int n,
int dlta,
int t)
}int
okpass
(recordtype r,
int low,
int high)
//快速排序
while
(low.keylow++;if
(low} r[low]
=tmp;
return low;
}void
oksort
(recordtype r,
int low,
int high)
}void
selectsort
(recordtype r,
int n)
//直接選擇排序
for(k=
1;k<
11;k++
)printf
("%3d"
,r[k]
.key)
;printf
("\n");
}}void
main()
;int dlta=
; recordtype r[11]
;for
(i=1
;i<
11;i++
) r[i]
.key=a[i-1]
;for
(i=1
;i<
11;i++
)printf
("%3d"
,r[i]
.key)
;printf
("\n");
/* printf("直接插入排序過程如下:\n");
directinsersort(r,11);*/
printf
("希爾排序過程如下:\n");
shellsort
(r,11
,dlta,3)
;/* printf("快速排序過程如下:\n");
oksort(r,1,10);*/
/* printf("直接選擇排序過程如下:\n");
selectsort(r,11);*/
}
各種內部排序
include using namespace std void swap int x,int y insertsort void insertsort int a,int n a j 1 temp bubble sort 下沉 void bubblesort1 int a,int n if fla...
演算法 c 實現各種經典內部排序
經典的排序演算法如下 交換排序 選擇排序 歸併排序 基數排序 桶排序 實現 main.cpp sort created by peiyu wang on 2019 3 28.include include include include using namespace std const vecto...
各種內部排序的比較
各種內部排序按所採用的基本思想 策略 可分為 插入排序 交換排序 選擇排序 歸併排序和基數排序,它們的基本策略分別是 1 插入排序 依次將無序序列中的乙個記錄,按關鍵字值的大小插入到已排好序乙個子串行的適當位置,直到所有的記錄都插入為止。具體的方法有 直接插入 表插入 2 路插入和shell排序。2...