排序算法有很多种,这里在复习和分析的基础上,做一个自己的总结;首先要知道有哪些排序算法,google一下,有云C语言7大经典排序算法(也有8大)。主要包括冒泡排序,快速排序,选择排序,插入排序,希尔排序,归并排序,堆排序,8大的还有基数排序。各有各的版本,代码写法也各不相同。所以这里以整理思路为先,...
分类:
编程语言 时间:
2014-07-06 23:13:49
阅读次数:
301
稳定的排序:1、冒泡排序: 工作原理:依次相邻元素进行比较,将小数放在前面,大数放在后面,每一次扫描是将最大的数放在最右边,每次扫描完之后,下次扫描的个数减一,知道所有的数都放好位置。即第一次扫描:比较第一个数和第二个数,判断大小,小数在前,大数在后,接着比较第二个数和第三个数,依次比较,知道最后....
分类:
其他好文 时间:
2014-07-06 18:29:52
阅读次数:
188
1 // ALLKindsOfSorts.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include 6 #include 7 #include 8 9 using namespace std; 10 11 //...
分类:
其他好文 时间:
2014-07-06 18:16:22
阅读次数:
126
以下三个验证性实验都做。(1)直接插入排序算法验证。(2)快速排序算法验证。(3)直接选择排序算法验证。#include#includeusing namespace std;class dishizhang{public: int a[10]; int b[10]; dishiz...
分类:
其他好文 时间:
2014-07-06 17:58:08
阅读次数:
176
记录学习点滴,菜鸟成长记接触算法是研究生期间做项目时,需要编写一些诸如GA、QGA的时候,第一次使用“排序”还是用的Java自带的Comparator接口。后来买了《算法导论》来看,发现果然所有知识都是有专业壁垒的,简单的一个问题尽然蕴藏着如此多的思想,发现此简直欣喜无比,遂决定要好好研究研究。只有...
分类:
其他好文 时间:
2014-07-06 14:10:18
阅读次数:
145
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-07-06 14:00:34
阅读次数:
147
(1)快速排序算法以及应用快速排序中划分的思想求数组中第k小的数,最小的前k个数。(2)归并排序算法以及利用归并排序计算数组的逆序对数。(3)堆排序...
分类:
其他好文 时间:
2014-07-05 23:03:20
阅读次数:
324
记录学习点滴,菜鸟成长记归并排序的英文叫做Merge-Sort,要想明白归并排序算法,还要从“递归”的概念谈起。1.递归一般来讲,人在做决策行事的时候是往往是从已知出发,比如,我又要举个不恰当的例子了→_→:看到漂亮姑娘→喜欢人家→追→女朋友→老婆但是人家施瓦辛格不是这么想的,人家从小就立志当总统:...
分类:
其他好文 时间:
2014-07-05 21:32:47
阅读次数:
220
简述计数排序
看了好多别人写的计数排序,看了好久都没看懂,弄了好久最后发现这么简单居然花了几个小时,所以在这里写上,希望和我一样的初学者不会再绕弯路。
一、简述计数排序的思想:
设被排序的数组为A,排序后存储到B,C为临时数组。所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以;在此基础上,计算小于或者等...
分类:
其他好文 时间:
2014-07-04 08:26:18
阅读次数:
248