實驗5各種內部排序演算法

2021-09-28 11:05:02 字數 1672 閱讀 9977

各種內部排序演算法

實現直接插入排序演算法、希爾排序、快速排序演算法、直接選擇排序演算法,並用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...