您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页快速排序和插入排序算法

快速排序和插入排序算法

来源:意榕旅游网
xxxxx大学实验报告

课程名称: 数据结构A 实验名称: 实验十 快速排 序、插入排序 班 级: XXX 学生姓名: XXX 学号: XXXXX 指导教师评定: XXX 签 名: XXX

一、实验目的

1.掌握各种基本查找方法。

2.比较几种查找方法的局限性和优劣性并熟练应用到程序编写过程中。 二、实验内容

实现对某一张顺序表的快速排序算法。 三、程序分析

⒈ 任意选取一个记录作为枢轴,通过一趟排序将待排记录,将待排记录分割成独立的两部分,其中一部分均比另一部分记录的关键字小。

⒉ 在递归调用分别对分开的两部分断续排序,以达到整个序列有序。

四、程序源代码

该程序的源代码如下:

#include int main() {

void QuickSort(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}; printf(\"排序前:\\n\"); for(i=0;i<15;i++)

}

printf(\"%d \

printf(\"\\n快速排序请按1,直接插入排序请按2\\n\"); scanf(\"%d\switch(x) {

case 1 : QuickSort(a,0,14);break; case 2 : insertsort(a,15);break; default : printf(\"输入错误\\n\"); }

printf(\"\\n排序后:\\n\"); for(i=0;i<15;i++)

printf(\"%d \

printf(\"\\n\"); return 0;

void QuickSort(int a[],int s,int t) {

int i=s,j=t; int tmp; if(stmp=a[s]; while(i!=j) {

}

}

}

while(j>i&&a[j]>=tmp)

j--;

a[i]=a[j];

while(ii++;

a[j]=a[i];

a[i]=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;iwhile(j>=0&&tmpa[j+1]=tmp; }

五、实验结果

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务