排序:
默认
按更新时间
按访问量

快速排序

算法思想   快速排序是对冒泡排序的改进,在待排数据中任选一个数当作枢轴,然后将待排数中比枢轴大的放在一侧,比枢小的放在另一侧,接着对枢轴的两侧再选枢轴,在枢轴两侧放置,以次递归下,知道最后只有一个数据为止,然后逐步返回递归。 代码如下 #include <stdi...

2018-03-31 00:39:10

阅读数:19

评论数:0

归并排序(递归、非递归、自然归并排序)

算法思想:   归并排序是分治法的典型应用,其思想是不断地将两个有序的数组合并为一个有序数组。 递归实现    #include <stdio.h> void Merge(int a[], int left, int m, int right)...

2018-03-30 22:01:26

阅读数:24

评论数:0

选择排序(C语言实现)

算法思想 从下标为0的位置开始,为每一个位置找到排序后应有的值,从该位置开始向后遍历数组,找到最小的值(不妨设排序为升序排列 ),放入该位置,接着为下一位置寻找该位置应有的值。 #include void Select_sort(int *a, int len); int main(...

2018-01-21 11:06:36

阅读数:37

评论数:0

冒泡排序

算法思想 从数组下标0开始,为每个位置找到排序后应有的值,从该位置开始遍历数组,每找到比该位置上元素的值小的元素,便交换两数。 #include void Bubble_sort(int *a, int len); int main(void) { int i; in...

2018-01-21 11:03:56

阅读数:29

评论数:0

直接插入排序

算法思想 从数组第1位开始遍历(数组下标从0开始,设排序为升序排列),备份 当前下标的值,遍历该下标之前的元素,若该元素的值比备份下标的值大,则该元素向后移动一位,接着判断前一个元素;若该元素的值比备份下标的值小,则该元素不做处理。代码实现如下: //升序直插排序 #include #i...

2018-01-21 11:02:11

阅读数:31

评论数:0

三种方法交换两个数

1.利用中间变量交换两个数. void exchange(int *a, int *b) { int temp = *a; *a = *b; *b = *temp; } 利用和差关系交换两个数. void exchange(int *a, int *b) { ...

2018-01-21 11:00:35

阅读数:41

评论数:0

希尔排序(C语言实现)

算法思想   希尔排序是特殊的插入排序,直接插入排序每次插入前的遍历步长为1,而希尔排序是将待排序列分为若干个子序列,对这些子序列分别进行直接插入排序,当每个子序列长度为1时,再进行一次直接插入排序时,结果一定是有序的。常见的划分子序列的方法有:初始步长(两个子序列相应元素相差的距离)为要排的数...

2018-01-21 10:52:46

阅读数:61

评论数:0

字符串的反转

利用运算符 + 的重载 #include #include using std::cout; using std::cin; using std::endl; using std::string; string Resversal(const string str) { st...

2018-01-21 10:47:58

阅读数:26

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭