函数原型
#include
void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
参数说明:
base:排序数组的起始地址
nmemb:要排序的元素的个数
size:单个元素的大小
compar:用户自定义的比较两个元素大小的方法。
int(*co...
分类:
系统相关 时间:
2015-04-16 12:27:38
阅读次数:
193
/*merge sort*/#include using namespace std;const int max_num = 1000000000;void mergeData(int *s, int p, int q, int r){ int n1 = q - p + 1; int n...
分类:
编程语言 时间:
2015-04-16 01:27:56
阅读次数:
212
基数排序又称桶排序,对排序数组的每一位进行比较后排序,依次对每一位排序完成,最终就可以得到整个数组的排序。...
分类:
编程语言 时间:
2015-04-11 09:00:55
阅读次数:
127
名称数据对象稳定性时间复杂度空间复杂度描述平均最坏冒泡排序数组(无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。选择排序数组(有序区,无序区)。在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得多,换得少。链表插入排序数组、链表(有序区,无序区)。把无序区的第一个元素插入到有序...
分类:
编程语言 时间:
2015-04-10 23:52:20
阅读次数:
230
计数排序的基本思想就是对每一个输入元素x,确定出小于x的元素个数。有了这一信息,就可以把x直接放到它在最终输出数组中的位置上。
计数排序的一个重要性质就是它是稳定的,为什么重要呢?因为计数排序经常用作基数排序算法的一个子过程。
废话少说,直接上代码:
#include
//计数排序,k:数组A中最大的元素; i:数组A元素的个数
int* CountSort(int* A, int* B...
分类:
编程语言 时间:
2015-04-10 22:06:47
阅读次数:
133
/**
* 1.插入排序算法
* @param int[] 未排序数组
* @return
int[] 排完序数组
*
* 插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,
* 本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,
* 为元素 x “腾位置”,...
分类:
编程语言 时间:
2015-04-07 19:47:58
阅读次数:
203
qsort函数:运用填写:
第一个为数组初始地址
第二个为待排序数组的个数
第三个为每个字节的大小(建议sizeof(a[0]))
第四个为函数指针(比较函数)比较函数:
一般来说比较函数的命名没有硬性的规定,但是我们一般还是用cm...
分类:
其他好文 时间:
2015-04-06 17:21:14
阅读次数:
121
冒泡排序原理:临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样外层循环每循环一次,都会把一个数的顺序排好(从小到大的话每次都会把上回剩余的数据最大的放在剩余数的最后面,反之则是最小的放剩余数的最后面),过程如下:原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |第一...
分类:
编程语言 时间:
2015-04-06 15:30:26
阅读次数:
172
题目描述:统计一个数字在排序数组中出现的次数。
输入:
每个测试案例包括两行:
第一行有1个整数n,表示数组的大小。1
第二行有n个整数,表示数组元素,每个元素均为int。
第三行有1个整数m,表示接下来有m次查询。1
下面有m行,每行有一个整数k,表示要查询的数。
输出:
对应每个测试案例,有m行输出,每行1整数,表示数组中该数字出现的次数。
样例输入:...
分类:
编程语言 时间:
2015-04-01 23:48:46
阅读次数:
202