最近一个需求里面需要实IP升序排序,用了qsort,结果是内部排序,甚至感觉排序结果不可预测性,于是自己写了一个外部排序。需求如下:一个指针里面有N条记录,每条记录包含:IP,偏移地址,保留位,均占4个字节,且这N条记录需要按照升序排序。算法如下:for
(int i = 1; i = i; j--...
分类:
其他好文 时间:
2014-05-09 18:16:24
阅读次数:
360
题目链接:http://acm.nbut.edu.cn/Problem/view.xhtml?id=1557题意:给出n个不相同且分布在1-n之间的正整数组成的队列,每次可以将任一个数放到队首,问最少需要多少次可以将队列变为升序?分析:(1)一种方法是对于每个有较大数在前面的数放到队首,然后将后面比...
分类:
其他好文 时间:
2014-05-09 11:50:08
阅读次数:
262
#include "stdafx.h"#include#include#includeusing
namespace std;long long d[100000],a[100000];long long len,i,k,n;long long
min(long long t){ long long...
分类:
其他好文 时间:
2014-05-08 14:05:19
阅读次数:
261
冒泡排序: 设数组长为N。以升序为例。1
比较相邻的2个前后的数据,如果前面数据大于后面的数据,则2个数据交换2
这样对数组的第0个数据到第N-1个数据进行遍历,则最大的数据会沉到数组的第N-1个位置。3 N = N-1,如果N != 0 就执行第二步。1 void
Bubble_Sort( in....
分类:
其他好文 时间:
2014-05-08 05:49:27
阅读次数:
350
一,直接选择排序
介绍:直接选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素...
分类:
其他好文 时间:
2014-05-08 05:10:31
阅读次数:
341
归并排序
归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论。
1.两路归并排序算法思路
①把 n 个记录看成 n 个长度为1的有序子表;
②进行两两归并使记录关键字有序,...
分类:
编程语言 时间:
2014-05-07 11:47:08
阅读次数:
347
验证二叉树是否是查找树,可以通过查看它的中序遍历是否是升序的。下面是AC代码: 1 /** 2 *
Given a binary tree, determine if it is a valid binary search tree (BST). 3 *
solution : 4...
分类:
其他好文 时间:
2014-05-07 09:01:45
阅读次数:
250
题意:两两相邻的元素可以交换,问最小交换次数使得数列为升序。
思路:归并排序分治法。看到琦神又用了树状数组的方法求。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define P...
分类:
其他好文 时间:
2014-05-07 08:54:01
阅读次数:
488
自定义排序框选需要主次排序的区域 开始—排序和筛选—自定义排序 添加筛选条件
若要获取最小值则次要关键字选择升序 排序后的数据 删除重复项数据—删除重复项 选择要删除的列 删除A列的重复项后,B列留下了最小值
分类:
其他好文 时间:
2014-05-05 10:54:39
阅读次数:
623
题目:
输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。
思路:
最直接的做法是暴力法,两个for循环,时间复杂度为O(n*n),但是这样没有充分利用升序数组这一前提。我们假设数组为A,长度为len,给定的和为sum,最好的方法是先用数组的第一个数A[lo...
分类:
其他好文 时间:
2014-05-04 17:56:57
阅读次数:
596