![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 68
普通网友
这个作者很懒,什么都没留下…
展开
-
冒泡排序
#include /*冒泡排序:思想:第一个和其他的一次比较,小的到前面(交换),完成一次循环后,最小的已经到了第一个位置然后,第二个和剩下的一次比较,第二小的到了第二个位置。。。如此,从小到大的顺序排好。*/void BubbleSort(int* arr,int length){int i,j,tmp;printf("Array before原创 2014-11-26 11:32:10 · 434 阅读 · 0 评论 -
插入排序
#include /*插入排序:思路:把元素,一次插入到(前一步)已经有序的数组中,并保持其有序实现:for(i=1; it = arr[i];j = i-1;while(j>=0 && tarr[j+1] = arr[j]; // 从第n-1个元素开始比较。j--; // 因为第n个位置会被第n-i位置的元素代替,因此,保存arr[n],并拿保原创 2014-11-26 11:34:17 · 433 阅读 · 0 评论 -
快速排序
#include /*快速排序:思路:找到中间位置,大于中间位置元素的放右边,小于的放左边。如此,第一次结束后,可以分成大于和小于中间位置的两组。对这俩组再快速排序。。。。如此往复操作。实现:left和right,在分左右的时候会改变,保存副本。tl>=tr, tl = tr,tl+1;再次快排时,要把左右两组的数据全部包括。*/void Qui原创 2014-11-26 11:35:38 · 429 阅读 · 0 评论 -
选择排序
#include /*选择排序:思路:每次循环,选择最小的,和最前的交换位置第一次,我们选择所有里最小的放第一个位子,第二次,选择第二个到最后一个中最小的放第二个位置,。。。代码实现:我们记录每次循环比较里,最小的那个的键号,最后拿最小的和对应位置的交换位置*/void SelectionSort(int* arr,int原创 2014-11-26 11:36:17 · 404 阅读 · 0 评论 -
shell排序
#include /*shell排序:思路:对所有元素进行分组(逐步增多每组的元素个数),每一次都保证组内有序(使用插入排序)倒数第二步,肯定是分了2组(组内已有序),即:奇数元素,单调不增。偶数元素,单调不增则,最后一步,对于所有元素进行插入排序,但此时已经“基本有序”。分析:shell排序,利用的是:插入排序对“基本有序”的数组排序比较快速,的特点,原创 2014-11-26 11:37:27 · 541 阅读 · 0 评论