自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 hdoj 1280 前m大的数

给定一个包含N(N #include using namespace std; int main(void) { int N, M; while(cin >> N >> M) { int *temp = new int[N]; for(int i=0; i<N; ++i) { cin >> temp[i]; } int data[10005]; f

2012-05-11 20:04:10 589

原创 hdoj 3791 二叉搜索树

#include using namespace std; struct BiTreeNode//结点结构体 { char ch; BiTreeNode *left; BiTreeNode *right; BiTreeNode(char x, BiTreeNode *l = NULL, BiTreeNode *r = NULL) :ch(x), left(l), right(r)

2012-05-11 19:36:02 486

原创 归并排序

归并排序的基本操作是合并两个已排序的表。因为两个表是已排序的,所以若将输出放到第三个表中则该算法可以通过对输入数据一趟排序来完成。基本的合并算法是取两个输入数组A和B、一个输出数组C以及三个计数器(Actr、Bctr、Cctr),他们的初始位置位于对应数组的初始端。A[Actr]和B[Bctr]中的较小者被复制到C[Cctr],相关的计数器向下移动一步。当两个输入表一个用完时,则将另一个表中的剩余

2012-05-03 11:40:45 583

原创 实现atoi函数

int a_to_i(const char *str) { int cur; //当前字符 int total;//当前整型数据 int sign; //数据符号 //去点前面的空白符 while(isspace((int)(unsigned char)*str)) { str++; } //如果*str最高位是1,那么直接将其付给int型时会变成负数,所以必须先转成un

2012-05-02 15:28:26 490

原创 堆排序

堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。 (1)用最大堆排序的基本思想 ① 先将初始文件R[1..n]建成一个最大堆,此堆为初始的无序区; ② 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1

2012-05-01 11:41:23 598

原创 希尔排序

希尔排序是对插入排序的一种改进,具体的时间复杂度本人还没有完全理解,只是明白了它是怎么运行的。 希尔排序基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组,所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2 #include #include #include using namespace std; te

2012-05-01 10:45:38 445

原创 插入排序

插入排序是最简单的排序之一,有N-1趟排序组成,最差时间复杂度为O(n^2),最优时间复杂度为O(n),平均时间复杂度为O(n2)。 #include #include #include using namespace std; template void insertSort(vector &data) { int j = 1; int size = data.size(

2012-05-01 10:19:27 481

linux课件(PPT格式的)

本课件是PPT形式的,非常适合初学linux的同学学习,很容易引导初学者入门,是很好的入门教程。

2011-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除