排序
文章平均质量分 69
Cupertino1992
这个作者很懒,什么都没留下…
展开
-
直接插入排序算法--c语言实现
/*********************直接插入排序********************/#include #define ARRSIZE 10void sort(int *,int);void print_array(int *);int main(){ int array[ARRSIZE]={1,3,4,5,8,7,9,0,2,6}; sort(原创 2014-11-15 01:06:31 · 701 阅读 · 2 评论 -
选择排序--c语言实现
/*****************************选择排序********************************//*排序思想:*//*从第一个元素开始,把元素和其它元素比较,最终找出最小的排在第一位,然后找出第二小的排在第二位,循环即可*/#include #define ARRSIZE 10void print_array(int *);//打印数组void原创 2014-11-17 23:47:31 · 453 阅读 · 0 评论 -
冒泡排序--c语言实现
/*****************************冒泡排序********************************//*排序思想:*//* 1.对于一个长度为n的数组,进行n-1次循环*//* 2.第一次次循环中,先将1和2元素比较,如果元素1比元素2大,则交换其位置,接着比较元素2和元素3,以此类推,最终最大的元素排在最后一位*//* 3.接着第二次循环,要排序的元素个原创 2014-11-17 00:18:16 · 452 阅读 · 0 评论 -
快速排序--c语言实现
快速排序的思想是对待排序数组,在数组中选取一个合适枢纽节点,然后遍历数组中其它元素,把比枢纽元素小的放在该元素的左边,把比其大的放在该元素的右边,然后递归的对该枢纽元素左右两边的数组用同样的方法排序。复杂度:排序方法平均时间复杂度最坏时间复杂度最好时间复杂度空间复杂度稳定性复杂性快速排序O(nlgn)O(n^2)O(nlg原创 2015-08-14 17:36:03 · 510 阅读 · 0 评论 -
堆排序(非递归版)-- c语言实现
堆,是是在逻辑上模仿完全二叉树的一维数组,(假设数组开始下标为0)某父节点 i 其左右孩子可以表示为2*i+1(左)和2*i+2(右).堆排序的思想是每次从堆顶拿出一个元素(最大或最小取决于是大顶堆还是小顶堆)放入已排序数组,然后将堆最有一个元素插入堆顶,这样将引起堆的不平衡,然后重新调整堆至平衡,重复做下去。注意,每次堆拿出堆顶元素的大小都会减小1.#include #in原创 2015-08-15 09:39:48 · 675 阅读 · 1 评论 -
归并排序--c语言实现
归并排序算法c语言实现。原创 2015-08-14 16:50:35 · 864 阅读 · 0 评论