数据结构与算法
StilLong
这个作者很懒,什么都没留下…
展开
-
《算法跬步》冒泡排序
原理:两个循环,一个循环控制遍数,一个循环控制每一遍中的数据交换。判断两个数据的大小时,使用前数大后数则升序,反之降序。 实现步骤: 1、判断传入的参数是否有效; 2、实现排序 void Bubble_Sort(int data[],int length) { if (NULL == data || 0 = length) { return; } int temp = 0;原创 2013-10-25 21:29:40 · 382 阅读 · 0 评论 -
《跬步算法》选择排序
一、算法思想: 从整个线性表中选择最小的那个元素,然后将这个最小的元素放到表的最前面或者最后面(根据排序的升降序)。然后对剩下的子表采用相同方法,直到表空。 二、实现步骤: 1、判断数组的有效性 2、初始化一个临时变量“temp”交换时存放交换值,初始化一个整型变量“k”作为指向数组最小值的下标 3、第一个子表,从中找到最小值,并原创 2013-10-26 10:49:19 · 413 阅读 · 0 评论 -
《算法跬步》快速排序
实现步骤: 1、判断排序的数组是否有效; 2、排序 2.1 判断首下标是否小于尾下标,大于则return 2.2 寻找中间值的下标(把数组的第一个数据作为比较的原点(中间值),比该数据小的数据排列在左边,比该数据大的数据排列在右边,递增或递减直到首尾下标相等,该下标为中间值坐标) 2.3 递归调用排序 Qui原创 2013-10-25 20:39:59 · 497 阅读 · 0 评论 -
《算法跬步》插入排序
一、原理:将无序序列中的各个元素以次插入到有序的线性表中 二、实现方法: 假设前面已经m-1个有序元素,现在将第m个元素s[m]插入到前面有序的序列中,则用s[m]与第m-1及m-1之前的元素以次比较,当s[m-1]大于s[m]时,s[m-1]后移,当出现第k个元素(0 三、代码如下: void InsertSort(int s[],int length) { if原创 2013-10-26 21:50:20 · 326 阅读 · 0 评论