#include "iostream.h"
using namespace std;
void merge(int A[], int Tmp[], int leftStart,int rightStart, int rightEnd){
int number = rightEnd-leftStart+1;
int leftEnd = rightStart-1;
int left=leftSt...
分类:
编程语言 时间:
2014-12-04 19:58:57
阅读次数:
231
传送门:POJ_3067
题目:n,m,k;左右两列数,数的范围分别1-n,1-m,然给k个连线。
Sample Input
1
3 4 4
1 4
2 3
3 2
3 1
Sample Output
Test case 1: 5
思路:逆序数
代码:
//树状数组版
//块状数组
#include
#include
#include
#include
...
分类:
编程语言 时间:
2014-12-04 17:57:44
阅读次数:
272
在过去的几年里,我们谈到了关于“C++的复兴”。我们不得不承认微软是这项运动中主要参与者,我记得在Craig Symonds和Mohsen Agsen在视频中提到了这件事。 在2011年,微软写了许多文章来宣布C++的回归,并且众多微软专家如Herb Sutter在很多会议上解释了为什么C++会重....
分类:
编程语言 时间:
2014-12-04 13:49:03
阅读次数:
148
//插入排序//C++#includeusingnamespacestd;voidmain(){inta[6]={5,2,4,6,1,3};//定义一个未排好序的数组inti,j,key;for(i=0;i=0&&a[i]>key){a[i+1]=a[i];i=i-1;}a[i+1]=key;} c...
分类:
编程语言 时间:
2014-12-03 22:50:23
阅读次数:
134
题目
Sort a linked list in O(n log n)
time using constant space complexity.
解答
O(nlogn)时间复杂度的排序有快排、堆排、归并,一般双向链表用快排、单向链表用归并,堆排两种都可以,以下使用归并排序:
/**
* Definition for singly-linked list.
* class Li...
分类:
其他好文 时间:
2014-12-03 21:32:25
阅读次数:
138
一、原题
Sort List
Sort a linked list in O(n log n)
time using constant space complexity.
二、分析
快速排序和归并排序的时间复杂度是O(nlogn)。如果使用归并排序,在使用链表的情况下,不需要重新申请空间存放排序后的数组,可以做到空间复杂度数O(1)。我在这里使用归并排序来排序链表...
分类:
其他好文 时间:
2014-12-03 21:28:07
阅读次数:
112
/*
* MergeSorter.cs - by Chimomo
*
* 归并排序是建立在归并操作上的排序算法,该算法是分而治之策略(Divide and Conquer)的一个非常典型的应用。
*
* 归并操作的基本原理:
* 1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放归并后的序列。
* 2、设置两个指针,最初位置分别为两个已经排序序列的起始位置。
* 3、...
分类:
编程语言 时间:
2014-12-03 19:21:53
阅读次数:
153
设计模式就是对相同部分进行归纳,归并,不仅仅包括对象(继承,多态)也包括业务逻辑,(流程结果等),以及数据存储(使用不同数据库)。 使各个部分独立,解耦。使UI,业务逻辑,数据可以各自独立,更新等。 对建造者模式而言就是通过构建流程与具体表现的分离,抽象出构建过程。对相同或类似的构建过程进行分...
分类:
其他好文 时间:
2014-12-01 15:34:28
阅读次数:
147