C语言中的排序算法了解.doc

上传人:白大夫 文档编号:3250852 上传时间:2019-08-06 格式:DOC 页数:3 大小:19.50KB
返回 下载 相关 举报
C语言中的排序算法了解.doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言中的排序算法了解.doc》由会员分享,可在线阅读,更多相关《C语言中的排序算法了解.doc(3页珍藏版)》请在三一文库上搜索。

1、C语言中的排序算法了解冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。过程演示:示例代码:#includevoidbubble_sort(intarr, intlen) inti, j, temp;for(i = 0; i arrj + 1) temp = arrj;arrj = arrj + 1;arrj + 1 = temp;intmain() intarr = 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9,

2、 70;intlen = (int)sizeof(arr) / sizeof(*arr);bubble_sort(arr, len);inti;for(i = 0; i 示例代码:voidswap(int *a,int *b)/交換兩個變數 inttemp = *a; *a = *b; *b = temp;voidselection_sort(intarr, intlen) inti,j; for(i = 0 ; i 示例代码:voidinsertion_sort(intarr, intlen) inti,j,temp;for(i=1;i0 j-) arrj = arrj-1;arrj = t

3、emp;希尔排序希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位过程演示:voidshell_sort(intarr, intlen) intgap, i, j;inttemp;for(gap = len 1; gap 0; gap = gap = 1) for(i = gap; i = 0 j -= gap) arrj + gap = arrj;arrj + ga

4、p = temp;归并排序把数据分为两段,从两段中逐个选最小的元素移入新数据段的末尾。可从上到下或从下到上进行。过程演示:迭代法:intmin(intx, inty) returnx rsive(intarr, intreg, intstart, intend) if(start = end) return;intlen = end - start, mid = (len 1) + start;intstart1 = start, end1 = mid;intstart2 = mid + 1, end2 = end;merge_sort_recursive(arr, reg, start1, end1); merge_sort_recursive(arr, reg, start2, end2);intk = start;while(start1 = end1 while(start1 = end1) regk+ = arrstart1+;while(start2 = end2) regk+ = arrstart2+;for(k = start; k = end; k+) arrk = regk;voidmerge_sort(intarr, constintlen) intreglen;merge_sort_recursive(arr, reg, 0, len - 1);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1