输入一个字符串,提取出里面的数字,并排序输出。
#include
#include
#include
using namespace std;
int compare (const void *p,const void *q){
return *(int *)q-*(int *)p;
}
int ss(string s)
{
int len=s.length();
int...
分类:
编程语言 时间:
2015-01-04 11:32:20
阅读次数:
194
归并排序的基本思想: 将两个或两个以上的有序子序列”归并”为一个有序序列:假定待排序表含有n个记录, 则可以看成是n个有序的子表, 每个子表长度为1, 然后两两归并, 得到[n/2]个长度为2或1的有序表,; 再量量归并, ...., 如此重复, 直到合并成为一个长度为n的有序表为止, 这种排序方法称为2-路归并排序.如图为一个2-路归并拍下的一个示例:/**说明:
将有序的记录序列 in...
分类:
编程语言 时间:
2015-01-03 21:10:12
阅读次数:
182
1.冒泡排序:
思路:将相邻的逆序元素交换为顺序排列,直到整个序列有序,算法如下:
/**
* 冒泡排序-最初实现,时间复杂度O(n^2)
* @param arr 待排序的数组
* @param lo 待排序区间的起始位置
* @param hi 待排序区间的结束位置
*/
public static void bubbleSort(int[] arr, int lo, int ...
分类:
编程语言 时间:
2015-01-03 17:22:28
阅读次数:
242
本文是对JDK6中Collections.sort方法的源码解析,也可以看作是对Comparison method violates its general contract!的后续分析。在JDK6中,该方法底层使用的是经过优化后的归并排序,废话不多说,直接看源码。public static void sort(List list, Comparator c) {
Object[] a = l...
分类:
其他好文 时间:
2015-01-02 14:42:04
阅读次数:
225
输入一行数字:123 423 5645 875 186523
在输入第二行:23
将第一行中含有第二行中“23”的数输出并排序
结果即:123 423 186523
/*
先排序,顺序遍历每个数字,看是否含有23
*/
#include
#include
int cmp(const void *a,const void *b)
{
return *(int*)a-*(...
分类:
其他好文 时间:
2015-01-02 09:42:21
阅读次数:
123
输入一行数字:123 423 5645 875 186523
在输入第二行:23
将第一行中含有第二行中“23”的数输出并排序
结果即:123 423 186523
#include
#include
int compare(const void *p,const void *q){
return *(int *)p-*(int *)q;
}
int main()
{...
分类:
其他好文 时间:
2015-01-01 14:49:26
阅读次数:
137
1 #include 2 #include 3 using namespace std; 4 long long ans; 5 void merge(int *a,int le,int mid,int rt){ 6 int *sort_data=(int *)malloc(sizeof(i...
分类:
编程语言 时间:
2014-12-31 18:18:35
阅读次数:
178
一道区间DP题,某次BestCoder的B题,想了很久没想出来。
题目描述:一共有并排N个椅子, N个学生依次去坐,同时满足3个条件就不能坐下去:1,该椅子不在最左,不在最右,2,该椅子左右都有人坐了,3,左右的椅子不同颜色
求最后N个人都能坐下去,有多少不同的情况.
题解:dp[i][j]表示排完区间[i,j]的种类数,(看别人题解时没想明白,人是按顺序先后决定坐的位置,即在区间[i,j]...
分类:
其他好文 时间:
2014-12-31 11:24:17
阅读次数:
168
1.什么情况下使用?fragment通常用来作为一个activity的用户界面的一部分例如,一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fra...
分类:
其他好文 时间:
2014-12-29 19:48:06
阅读次数:
171
逆序对是指数列a[1],a[2],a[3]…中的任意两个数a[i],a[j] (ia[j],那么我们就说这两个数构成了一个逆序对。
而归并排序的合并两个排列的过程中
会将右边的有序序列的元素依次插入前面的 有序序列
如(3 7 12) ( 5 6 8)
将5 插入 (3 7 12) 中
因为后面有序 所以 假设 5和左边全部元素构成逆序对 所以有mid+1...
分类:
编程语言 时间:
2014-12-28 19:34:29
阅读次数:
180