常见的排序算法总结一下常见的排序算法。排序分内排序和外排序。内排序:指在排序期间数据对象全部存放在内存的排序。外排序:指在排序期间全部对象个数太多,不能同时存放在内存,必须根据排序过程的要求,不断在内、外存之间移动的排序。内排序的方法有许多种,按所用策略不同,可归纳为五类:插入排序、选择排序、交换排...
分类:
编程语言 时间:
2015-04-10 17:05:34
阅读次数:
179
(课堂已布置的作业)将整型数组num[N]定义为外部的、用六个函数:void main(void);冒泡函数void bubble_sort(void);选择排序一函数void select_sort1(void);选择排序二函数void select_sort2(void);随机数初始化数组函数v...
分类:
编程语言 时间:
2015-04-08 09:03:03
阅读次数:
176
我要用这个博客记录我的菜鸟成长之路!!以前只会一种快速排序的排序算法,觉得自己好low,今天学习了一种插入排序,嗯,只要认真看几分钟,排序还是不难的!小二,上代码voidInsertSort(inta[],intn)
{
inti,j,tmp;
for(i=1;i<n;i++)
{
tmp=a[i];//将a[i]存在变量tmp..
分类:
编程语言 时间:
2015-04-07 20:15:21
阅读次数:
151
最近在读《数据结构与算法分析(C语言描述)》,在优先队列(堆)一节中,作者总结了关于“选择问题——求第k个最大的元素”的几种思路,在此简单总结一下:第一种将这NN个数读进一个数组中,再通过某种简单的算法,比如冒泡排序、选择排序等,以递减顺序将数组进行排序,然后返回位置kk上的元素。假设使用最简单的排序算法,则运行时间为O(N2)O(N^2)第二种这是对第一种算法的简单优化。申请一个大小为kk的数组,...
分类:
其他好文 时间:
2015-04-06 17:16:51
阅读次数:
132
首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法交租选择排序。
package Sort;
/**
*
* Description: 选择排序
*
* @author zhangjunshuai
* @ver...
分类:
编程语言 时间:
2015-04-06 12:54:55
阅读次数:
162
选择排序:#include using namespace std;#define LENGTH 10int data[LENGTH];void SelectSort(int i,int num){ if(i >num; for(int i = 1;i >data[i]; Sele...
分类:
编程语言 时间:
2015-04-05 23:09:22
阅读次数:
188
题目传送门 1 /* 2 用zstu3539题目来验证算法的正确性 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 const int maxn = 10...
分类:
编程语言 时间:
2015-04-04 16:32:23
阅读次数:
136
#includeusing namespace std;void swap(int *a, int *b){ int *c = a; a = b; b = c;}void SelectSort(int *A, int len){ for (int i = 0; i = 0 &...
分类:
编程语言 时间:
2015-04-04 10:34:16
阅读次数:
126
??
排序算法
排序是将无需的记录序列调整为有序记录序列的一种操作。
包括:冒泡排序,选择排序,堆排序,插入排序,希儿排序,快速排序,归并排序等。
(一)
冒泡排序
基本思想:
每次进行相邻两个元素的比较,如果为逆序时即进行交换,直到没有反序的数据元素为止。
排序过程:
设想被排序的...
分类:
编程语言 时间:
2015-04-03 17:32:47
阅读次数:
231
冒泡排序(Bubble Sort)的基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。时间复杂度为O(n2).简单选择排序(Simple Selection Sort)的基本思想:通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。应...
分类:
编程语言 时间:
2015-04-03 13:15:56
阅读次数:
267