
算法
超越6
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内排序(4):归并排序
归并排序,稳定排序//归并排序,合并两个数组void MergeArry(int* a,int start,int mid,int end,int* temp){int i=start;int j=mid+1;int k=0;while(i<=mid&&j<=end){if(a[i]<a[j])temp[k++]=a[i+...原创 2013-03-21 10:55:36 · 525 阅读 · 0 评论 -
内排序(2)选择排序:直接选择和堆排序
直接选择,不稳定排序int a[]={16,7,3,20,17,8};int size=6;for(int i=0;i<size-1;i++){int k=i;for(int j=i+1;j<size;j++){if(a[k]>a[j])k=j;}if(k!=i)swap(a[i],a[k]);}堆排...原创 2013-03-21 09:05:00 · 386 阅读 · 0 评论 -
内排序(1)插入排序:直接插入和shell排序
直接插入排序,稳定排序。int a[]={5,8,1,4,0};int size=5;for(int i=1;i<size;i++){int temp=a[i];int j=i-1;while(j>=0&&a[j]>temp){a[j+1]=a[j--];}a[j++]=temp;}shell排序...原创 2013-03-21 08:58:33 · 491 阅读 · 0 评论 -
内排序(3)交换排序:改进的冒泡和快速排序
改进的冒泡,稳定排序int a[]={16,7,3,20,17,8};int size=6;for(int i=0;i<size;i++){int k=i;for(int j=i;j<size;j++){if(a[k]>a[j])k=j;}if(k!=i)swap(a[k],a[i]);}快速,不稳定...原创 2013-03-21 09:37:27 · 432 阅读 · 0 评论 -
计数排序
void CountSort(int* INarry,int maxValue,int size,int *OUTarry){int i=0,k=0;int* count=new int[maxValue];for(i=0;i<maxValue;i++)count[i]=0;for(i=0;i<size;i++){count[INarry[i]-1]++;}for(...原创 2013-06-27 10:21:15 · 412 阅读 · 0 评论 -
位操作,实现加减乘除
基本操作函数正负号取反int Reverse(int a){if(a&0x80000000)//-{return(~(a-1));//+}else//+return(~a+1);//-}加法int sum(int a,int b){if(!(a&b))return a^b;elsereturn(sum((a&b)&...原创 2013-09-15 21:43:33 · 527 阅读 · 2 评论