一、希尔排序:
(可以看做插入排序的升级,属于插入排序类)
基本思想:
将待排序列划分为若干组,在每一组内进行插入排序,以使整个序列基本有序,然后再对整个序列进行插入排序。
基本有序的概念:就是小的关键字基本在前面,大的基本在后面,不大不小的基本在中间。
基本有序举例:{ 2,1,3, 6,4,7, 5,8,9 }
划分为若干组的目的:减少待排序记录的个数,并使整个...
分类:
编程语言 时间:
2015-06-15 14:45:12
阅读次数:
156
前段时间在做界面的时候,想要实现个两个DIV并排的界面,做之前想着挺简单的,只要将一个div浮动就可以了。然后就测试了一下。下面是部分代码
自己测试
代码
DIV1
DIV2
效果
效果两个div的宽度相加是小于页面的宽度的,那么试验结果呢?
不成功,后来改成了左浮动,还是不成功。怎么办呢?还是上网查。。。
解决方案
不得不说有了网络这个无所...
分类:
其他好文 时间:
2015-06-15 00:20:51
阅读次数:
190
1. 归并排序算法:
非递归实现:
void mergeSort(vector & nums, vector &tmpNums, int left, int right, int end)//right为右边一段数据的开始,同时也可以用来判断左边一段数据的结束,并且左边的数组长度总是大于或等于右边数组长度
{
int idx_left=left;
int idx_right=right;
...
分类:
编程语言 时间:
2015-06-14 13:53:11
阅读次数:
203
一、题目描述
通过随机数据比较各排序算法的关键字比较次数和关键字移动次数,以 及执行时间,取得直观感受。
二、设计要求一、需求分析
实现各排序算法,分别进行以下各组比较,并进行总结。
一、各算法在不同规模下的比较。
1)比较范围:直接插入排序、冒泡法排序、简单选择排序、快速排序1(自己实现)、快速排序2(调用STL)、归并排序。
2)比较指标:a)关键字操作次数(比较次数和移动次数...
分类:
编程语言 时间:
2015-06-14 13:52:25
阅读次数:
341
题目意思:对两个递增链表进行归并排序思路:没什么好说的,二路归并 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ...
分类:
编程语言 时间:
2015-06-14 12:08:08
阅读次数:
132
3021. 逆序数对Description给你一个数组,求该数组的逆序数Input Format输入文件第一行包含一个自然数N,N个数 接下来有N行,表示a[0],a[1]...a[n - 1]Output Format输出文件仅有一行包含一个整数,表示该数组的逆序数Sample Input3575...
分类:
编程语言 时间:
2015-06-13 21:38:59
阅读次数:
356
1)当一个父div中包含了几个子div,同时几个子div设置为浮动,那么父div的高度不能被子div撑起来。须手动设置父div的宽高,然后才可以设置例如 margin:auto的居中属性。2)设置几个连续div的间隔:首先把这几个div的属性设置为左浮,然后这几个div就是并排显示了,此时每个div...
分类:
Web程序 时间:
2015-06-12 23:50:43
阅读次数:
240
再来一套2015年的华为机试题。第一题(60分): 按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
分析思路:
容易题
1.获得字符串的长度length后,判断与要输出位数N的大小,大于N的话,直接printf...
分类:
编程语言 时间:
2015-06-11 21:17:22
阅读次数:
208
分而治之实验目的:理解分治法的算法思想,阅读实现书上已有的部分程序代码并完好程序,加深对分治法的算法原理及实现过程的理解。实验内容:用分治法实现一组无序序列的两路合并排序和高速排序。要求清楚合并排序及高速排序的基本原理,编程实现分别用这两种方法将输入的一组无序序列排序为有序序列后输出。代码:#inc...
分类:
编程语言 时间:
2015-06-11 10:43:27
阅读次数:
127
【归并排序的思想】归并排序的思想是如果子数组L和子数组R都是有序的,那么我们可以将其合并为一个有序数组;在归并排序中,首先将子数组的长度设为1,此时每个元素都是一个有序子数组,通过两两合并,我们可以得到若干个长度为2的有序子数组,然后对这些长度为2的子数组两两合并,就可以得若干个到长度为4的有序子数组……………………如此下去,最终将合并为一个有序的数组。
下面用一个例子来说明:
假设有数组A[]...
分类:
编程语言 时间:
2015-06-10 17:22:51
阅读次数:
109