数据结构与算法
gxiaob
这个作者很懒,什么都没留下…
展开
-
二分查找
一、递归写法 #include //设数组是由小到大的顺序排序的 int search_loc(int a[],int k,int low,int high){ int mid; if(k>a[high]||k return -1; if(low>high) return -1; mid=(low+high)/2; if(a[mid]==k) retur原创 2013-10-01 23:22:12 · 1402 阅读 · 0 评论 -
堆排序
//首先建立大根堆,结点从0开始到n-1,建堆的时候从n/2-1到0,不断的筛选 //新的结点交换有可能破换原有的秩序。 //建立好大根堆之后呢,从n-1到0遍历结点,不断的将最后一个结点(依次递减)元素和 //首结点元素交换,保证最后一个结点(依次递减)始终最大,与此同时,首结点再交换之后 //秩序发生了变换,因此重新构建大根堆..... #include void heap_ada原创 2013-10-04 23:31:06 · 1443 阅读 · 0 评论 -
shell排序
#include using namespace std; void ShellPass(int R[],int d){ int j; int temp; for(int i=d;i if(R[i] temp=R[i];j=i-d; do{ //实现内部小循环R[0],R[3],R[6],R[9],do-while R[j+d]=R[j];原创 2013-10-06 16:50:08 · 1317 阅读 · 0 评论 -
快速排序
#include #include #include using namespace std; void quicksort(int data[], int low, int high) { int i, pivot, j; if(low pivot = data[low]; i = low; j = high; while(i //cout原创 2013-10-06 16:35:54 · 1221 阅读 · 0 评论