数组排序的几种方法.docx

数组排序的几种方法.docx

ID:62157696

大小:19.36 KB

页数:5页

时间:2021-04-19

数组排序的几种方法.docx_第1页
数组排序的几种方法.docx_第2页
数组排序的几种方法.docx_第3页
数组排序的几种方法.docx_第4页
数组排序的几种方法.docx_第5页
资源描述:

《数组排序的几种方法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、★数组排序的几种方法!     问题:数组排序(即按某种特定的顺序排列数据,如升序或降序)是最重要的计算应用之一,银行用帐号对所有的支票进行能够排序,并根据排序结果准备月底的财务报告,学校学生成绩管理系统用数组排序的方法将考试成绩从高到低进行排名,数组排序方法很多,有直接插入排序、冒泡排序、快速排序、直接选择排序,下面来详细介绍这四种基本的排序方法及其实现。1,直接插入排序:当数据表A中每个元素距其最终位置不远,数据表A按关键字值基本有序,可用此方法排序较快。2,冒泡排序法:将较小的值“上浮”到数组顶部,而较大值

2、“下沉”到数组底部,这种排序技术要比较好几趟,每一趟要比较连续的数组元素对,如果某对数值是按升序排序的(或者这两个值相等),那就保持原样,如果某对数组是按降序排列的,就要交换它们的值。3,快速排序法:快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。4,直接选择排序法:直接选择排序的作法是:第一趟扫描所有数据,选择其中

3、最小的一个与第一个数据互换;第二趟从第二个数据开始向后扫描,选择最小的与第二个数据互换;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。它比起冒泡排序有一个优点就是不用不断的交换。程序1:直接插入法实现对数组的排序!#include#includeintmain(){       voidInsertSort(int[],int);       inta[7]={8,10,2,3,1,7,13};       inti;       InsertSort(a,7)

4、;       for(i=0;i<7;i++)          printf("%4d",a[i]);       getch();}voidInsertSort(inta[],intcount){       inti,j,temp;       for(i=1;itemp&&j>=0)          {            a[j+1]=a[j

5、];             j--;          }          if(j!=(i-1))                 a[j+1]=temp;        }}程序2:冒泡法实现对数组的排序!#include#includeintmain(){        voidBubbleSort(int[]);        inta[10];        inti,j,temp;        printf("Inputtemintegernumbersfor

6、a[10]:");        for(i=0;i<10;i++)           scanf("%d,",&a[i]);        printf("");        BubbleSort(a);        printf("Thesortedarrayis:");           for(j=0;j<10;j++)                printf("%d,",a[j]);        printf("");        getch();}voidBubbleS

7、ort(intarray[]){        inti,j,temp;          for(j=0;j<9;j++)             for(i=0;i<9-j;i++)                if(array[i]>array[i+1])                 {                     temp=array[i];                     array[i]=array[i+1];                     array[i+1]=t

8、emp;                  }}程序3:快速排序法实现对数组的排序!#include#include#defineMax8intmain(){        voidQuickSort(inta[],intp,intr);        inta[]={2,8,7,1,3,5,6,4};        QuickSort

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。