- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 二分查找(递归和非递归)
/* 二分查找也叫折半查找,要求查找的序列必须是有序的。 1.将给定的关键字与中间位置的纪录比较,如果相等则查找成功. 2.若不等则利用关键字的位置对表分成前后两个字表,如果key比中间位置关键字小, 则下一次只在前一子表中继续查找,否则在后一子表中查找 3.重复1.2 知道查找成功,或者当前查找区间为空,则查找失败 二分查找也可以递归 */ //非递归 #include
2012-11-17 17:04:26 344
原创 归并排序
/* 2-路归并排序: 算法思想:设两个有序表在同一数组中的相邻位置上:L[low..mid]和L[mid+1...high] 每次分别从两个表中取出一个记录进行关键字的比较,将较小者放入T[low..high]中, 重复此过程,直到其中一个表为空,再把另一个非空表中余下的部分复制到T中 最后再把T复制到L[low..high]中就行了 */ #include #
2012-11-16 13:15:44 250
原创 选择排序
/* 废话不多说 */ #include #include #define MAXSIZE 10 using namespace std; void SelectSort1(int a[],int len) { for(int i = 1; i { for(int j = i+1; j { if(a[i] > a[j]) { s
2012-11-15 23:49:45 368
原创 冒泡排序
/* 最最简单的排序一种,不多说废话 */ #include #include #define MAXSIZE 10 using namespace std; void Bubblesort1(int a[],int len) { for(int i = 1; i { for(int j = 1; j { if(a[j] > a[j+1])
2012-11-15 23:38:54 365
原创 折半插入排序
/* 折半插入排序: 思想:因为在插入第i个元素时,前面的i-1个元素都是有序的, 所以在用二分查找吧第i个元素插入,这样就可以减少查找的时间 */ #include #define MAXSIZE 10 using namespace std; void HarlfInSort(int a[],int len) { for(int i = 2; i { i
2012-11-15 23:10:49 346
原创 堆排序
/* n个元素的序列{k1,k2,k3,...kn}称之为堆,当且仅当满足一下条件时: 1.ki >= k2i 且 ki >= k2i+1 (大根堆) 2.ki 堆排序算法: 1.按堆的定义将待排序序列L[1...n]调整为大根堆(这个过程称之为初建堆),交换L[1]和L[n],此时L[n]为关键字最大的纪录 2.将L[1...n-1]重新调整
2012-11-14 16:41:25 387
原创 快速排序
/* 快速排序的算法: 1.设两个指针low和high,初始事分别指向表的上下界,设枢轴纪录为的关键字为key,第一趟时 low = 1,high = L.lengh 2.从表的最右侧,依次向左搜索第一个关键字小于key的纪录和枢轴交换, 做法:当low 《 high ,L[high] > key,继续向左寻找--high 否则交换L[high]
2012-11-14 15:46:00 453
原创 插入排序
#include #define MAXSIZE 100 using namespace std; void InsertSort(int Arry[],int n) { int j; for(int i = 2; i if(Arry[i] { Arry[0] = Arry[i]; Arry[i] = Arry[i - 1]; j = i
2012-11-13 23:18:12 259
原创 求一组整数中最小的两个数
#include using namespace std; int main() { int a[10] = {5,6,2,4,7,11,8,3,9,10}; int m1 = 100,m2 = 100; int s1 = -1; int s2 = -1; int i = 0; while(i { if(a[i] { s2 = s1;
2012-11-13 22:55:57 766
原创 hdu1002A + B Problem II
#include #include using namespace std; string Reverse(string& str) //string反转 { string tstr; tstr = str; //这块的初始化问题 int len = str.length(); for(stri
2012-11-10 18:38:34 587
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人