一:问题描述
(1)直接插入排序算法验证。 (2)快速排序算法验证。
(3)直接选择排序算法验证。
二:算法设计
插入排序算法
void insert_sort(int a[],int n) {
int i,j; int temp;
for ( i=1; i temp=a[i]; j=i-1; while ((j>=0)&& (temp a[j+1]=temp; } } 快速排序算法 void quiksort(int a[],int low,int high) { int i = low; int j = high; int temp = a[i]; if( low < high) { while(i < j) { while((a[j] >= temp) && (i < j)) { j--; } a[i] = a[j]; while((a[i] <= temp) && (i < j)) { i++; } a[j]= a[i]; } a[i] = temp; quiksort(a,low,i-1); quiksort(a,j+1,high); } else { return; } } 选择排序算法 void ChooseSort(int arr[], int n) { int temp, k,i,j; for (i=0;i k = i; for (j=i+1;j if (arr[k] > arr[j]) { k = j; } } if (k!= i) { temp = arr[i]; arr[i] = arr[k]; arr[k] = temp; } } } 三、界面设计 本实验为验证性实验,界面简单,无需设计。 四、运行测试与分析 图1.1 插入排序 图1.2 快速排序 图1.3 选择排序 五、实验收获与思考 (1)本次实验是数据结构这门课的最后一节实验课,所以在做这个实验之前,我重新看了一下以前几次实验的代码,温习了以前学过的知识,正因如此,在实验过程中,减少了很多错误的可能。 (2)通过本次实验,熟悉了插入排序 快速排序 选择排序的过程,加深理解了定义。 (3)编程的能力有一定的提高,为以后的课程打下了坚实的基础。