- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 C实例---快速排序(冒泡排序)
问题描述:冒泡排序是每个程序猿最熟悉的排序算法了,其时间复杂度为:n^2。 分析:选择一个待排的头,第一个数据/最后一个数据,一次向后/前比较,比较到最后为一趟排序,总共排序n次,但每趟排序比前一趟少1排序数据。 代码:#include <stdio.h>void BubbleSort(int s[], int len){ int i,j,temp; for (i = 0; i
2016-12-27 20:31:33 316
原创 C实例---插入排序(Shell)
问题描述:简单插入排序的时间复杂度是:n^2,shell排序是对其时间复杂度改进的一种算法,改善后的复杂度为:nlogn 分析:待排数据 99 42 57 74 46 85 32 78 40 33 74 88 65 27 38 69 51 32 59 24 对其进行一次划分: d = 20 / 2 = 10 :99 42 57 74 46 85 32 78 40 33 | 74 88
2016-12-27 17:56:56 296
原创 C实例---生成随机数组
问题描述:在写排序算法时,很希望得到一个大一点的排序数据,且是随机数据。如果直接输入的话很浪费时间,下面的这个小程序有效的解决了这样的一个问题。 代码:#include <stdio.h>#include <stdlib.h>#include <time.h>#define ARRAY 20 //生成多大的数组#define RANGE 100 //数组的元素大小从1到RAGNEi
2016-12-27 15:50:21 15933 2
原创 C实例——插入排序(简单插入)
算法描述:内排序的一种,分为简单插入排序、二分插入排序和SHELL排序,本例为第一种平云复杂度n^2。适用于待排数较少的情况。 分析:想想平时打扑克,每当拿起一张新牌,要比较手上牌的顺序选择一个较为合适的位置插入,本算法就跟那情况类似。选定待排序的第二个数开始和左边比较插入,如果比左边的小则交换(降序排列),依次比较到第一个数。这样一次迭代完成整个排序序列。 代码:#include <stdio
2016-12-27 11:18:38 644
原创 打鱼晒网C实例
问题描述:三天打鱼两天晒网寓言故事的实例化分析:实质上是判断某年某月某日在当年的第多少天问题,问题的关键闰年的判断,以及输入年与日的合法性。代码:#include <stdio.h>#define OK 0#define ERROR 1#define NONLEAP 0#define LEAP 1int NonLeap[12] = {31,28,31,30,31,30,31,31,30,31
2016-12-25 23:31:37 656
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人