排序
计科1401崔希艺
这个作者很懒,什么都没留下…
展开
-
数据结构实验之排序五:归并求逆序数
题目描述 对于数列a1,a2,a3…中的任意两个数ai,aj (i < j),如果ai > aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4)是一个逆序对,同样还有(3,2),(7,4),(6,2),(6,3)等等,你的任务是对给定的数列求出数列的逆序数。 输入 输入数据N(N原创 2016-08-05 09:21:20 · 333 阅读 · 0 评论 -
交叉排序
题目描述 输入N个数,把所有奇数位置上的数从小到大排序,把偶数位置上的数从大到小排序。 输入 输入的第一行是一个正整数N(2 第二行是N个用空格隔开的整数。 输出 输出只有一行N个数,是按要求排序后的序列,用空格隔开。 示例输入 6 1 2 3 4 5 6 示例输出 1 6 3 4 5 2 #include #include u原创 2016-08-05 14:48:28 · 1770 阅读 · 0 评论 -
数据结构实验之排序六:希尔排序
题目描述 我们已经学习了各种排序方法,知道在不同的情况下要选择不同的排序算法,以期达到最好的排序效率;对于待排序数据来说,若数据基本有序且记录较少时, 直接插入排序的效率是非常好的,希尔排序就是针对一组基本有序的少量数据记录进行排序的高效算法。你的任务是对于给定的数据进行希尔排序,其中增量dk=n/(2^k)(k=1,2,3……) 输入 连续输入多组数据,每组输入数据原创 2016-08-05 20:44:41 · 308 阅读 · 0 评论 -
数据结构实验之排序三:bucket sort
题目描述 根据人口普查结果,知道目前淄博市大约500万人口,你的任务是帮助人口普查办公室按年龄递增的顺序输出每个年龄有多少人,其中不满1周岁的按0岁计算,1到2周岁的按1岁计算,依次类推,大于等于100岁的老人全部按100岁计算。 输入 输入第一行给出一个正整数N( 输出 按年龄递增的顺序输出每个年龄的人口数,人口数为0的不输出,每个年龄占一行,数字间以一个空格分原创 2016-08-06 11:02:19 · 271 阅读 · 0 评论 -
数据结构实验之排序四:寻找大富翁
题解:这个题既要求时间有要求内存,因此你的堆里只能放M个数,剩余的N-M个数,用来替换堆里的数。 题目描述#include #include void heapAdjust(int heap[],int i,int size)//建立一个小顶堆。 { int key=i; int lchild=i*2; int rchild=i*2+1; int middle原创 2016-08-10 14:17:08 · 295 阅读 · 0 评论