《快速排序和插入排序算法》由会员分享,可在线阅读,更多相关《快速排序和插入排序算法(4页珍藏版)》请在金锄头文库上搜索。
1、xxxxx 大学实验报告课程名称:数据结构A实验名称:实验十 快速排 序、插入排序班级: XXX学生姓名:XXX学号: XXXXX指导教师评定:XXX 签 名:XXX一、实验目的1掌握各种基本查找方法。2比较几种查找方法的局限性和优劣性并熟练应用到程序编写过程中。二、实验内容实现对某一张顺序表的快速排序算法。三、程序分析1. 任意选取一个记录作为枢轴,通过一趟排序将待排记录,将待排记录分割成独立的两部分,其中一部分均比另一部分记录的关键字小。2. 在递归调用分别对分开的两部分断续排序,以达到整个序列有序。四、程序源代码该程序的源代码如下:#includeint main()void Quick
2、Sort(int a,int s,int t);void insertsort(int a,int n);int i,x;int a=2,3,12,24,14,21,35,68,13,33,32,74,16,45,63;prin f(排序前:n);for(i=0;i15;i+)printf(%d ,ai);printf(n 快速排序请按 1,直接插入排序请按 2n); scanf(%d,&x);switch(x)case 1 : QuickSort(a,0,14);break;case 2 : insertsort(a,15);break;defaul t : prin tf(输入错误n);printf (n 排序后:n);for(i=0;i15;i+)printf(%d ,ai);printf(n);return 0;void QuickSort(int a,int s,int t)int i=s,j=t;int tmp;if(si&aj=tmp)j-;ai=aj;while(ij&ai=tmp)i+;aj=ai;ai=tmp;QuickSort(a,s,i-1);QuickSort(a,i+1,t);void insertsort(int a,int n)int i,j;int tmp;for(i=1;i=0&tmpaj)aj+1=aj;j-;aj+1=tmp;五、实验结果