qingcheng奕  

2011年4月24日

摘要: #include<iostream>using namespace std;int arr[10001];void QuickSort(int s,int e){ int x=arr[s]; int l=s; //以第一个数为参照做比较 int r=e; if(l>=r) return; while(l<r) { while(l<r &&arr[r]>=x) { r--; //不小于分界值的留在右边,遇到小于的停止 } arr[l]=arr[r]; while(l<r && arr[l]<=x) { l++; } 阅读全文
posted @ 2011-04-24 19:14 qingcheng奕 阅读(211) 评论(0) 推荐(0) 编辑
 
摘要: #include<iostream>using namespace std;int BinarySearch(int a[],int n,int goal){for(int i=0;i<=n;i++)cout<<a[i]<<endl;int mid,low=0,high=n;while(low<=high){mid=(low+high)/2;if(goal==a[mid])return mid;else if(goal<a[mid])high=mid-1;elselow=mid+1;}return -1;}int main(){int ar 阅读全文
posted @ 2011-04-24 17:27 qingcheng奕 阅读(179) 评论(0) 推荐(0) 编辑
 
摘要: #include<iostream>//#include<algorithm>#include<string.h>using namespace std;struct dict{char en[11];char a[11];}d[100001];int cmp(const void *x,const void *y){return (strcmp((char*)((dict *)x)->a,(char *)((dict*)y)->a ) );}int sBinarySearch(char *s,int low,int high){int mid, 阅读全文
posted @ 2011-04-24 17:26 qingcheng奕 阅读(189) 评论(0) 推荐(0) 编辑
 
摘要: //归并排序 从小到大排序#include<iostream>using namespace std;int arr[10]={10,88,3,7,6,38,87,90,1,19};void Merge(int l,int m,int h);void MergeSort(int low,int high){ int mid; if(low<high) { mid=(low+high)/2; MergeSort(low,mid); MergeSort(mid+1,high); Merge(low,mid,high); } return;}void Merge(int low,i 阅读全文
posted @ 2011-04-24 17:25 qingcheng奕 阅读(172) 评论(0) 推荐(0) 编辑