
数据结构
关于平时用到的一些基本数据结构
witebin
渣渣程序猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之归并排序C语言实现
归并排序 算法思想:假定无序序列中有n个元素,则可以看成是n个有序的子序列,每个子序列长度为1.然后两两合并,得到n/2个长度为2或1的有序序列,再两两归并…如此重复之下,直到合并成长度为n的有序序列为止。 形如无序序列{88,34,65,78,49,23,90,12,17,76},两两归并如下图: C语言代码: #include<stdio.h> #include<strin...原创 2020-04-05 18:24:09 · 1137 阅读 · 0 评论 -
排序算法之选择排序C语言实现
选择排序 1、简单选择排序 算法思想:在无序序列a[0…n],第i趟排序从a[i…n]中选择关键字最小的元素与a[i]交换,每一趟排序都能确定一个元素的最终位置,经过n-1趟之后整个无序序列就会变成有序序列。 形如序列{45,14,27,71,12}: 第一趟:{12,14,27,71,45} 第二趟:{12,14,27,71,45} 第三趟:{12,14,27,71,45} 第四趟:{12,14...原创 2020-04-05 12:40:47 · 384 阅读 · 0 评论 -
排序算法之交换排序C语言实现
交换排序 1.冒泡排序 算法思想:假定无序序列长为len,从前往后两两比较相邻元素的值,若为逆序(a[i] > a[i+1]),则交换它们,直到序列比较完。这就是一趟冒泡,下一趟冒泡时,前一趟确定的最小元素不再参与比较,待排序列减少一个元素,每趟冒泡的结果就是把序列中的最小元素放在最终位置,最多需要len-1趟冒泡就可以排好序。 C语言代码: #include<stdio.h> ...原创 2020-04-04 22:44:19 · 1398 阅读 · 0 评论 -
排序算法之插入排序C语言实现
插入排序 1、直接插入排序 算法思想:直接插入排序是无序序列插入到有序序列中,通常假定a[0]为已经排好序的子序列,然后将剩下无序序列一个一个插入到有序的子序列中。适用于基本有序和数据量不大的情况。 例如对于一个无序序列{45,32,56,71,12}来讲,首先确定45为有序的,然后在无序序列中向右遍历,32小于45则插入到45的前面,再继续往右遍历,56大于32同时也大于45则应该插入到45后面...原创 2020-04-04 22:10:26 · 18095 阅读 · 13 评论