大一
f0ng
网络安全
展开
-
出圈问题
int i,n,m,t,a[1024],c=1; scanf("%d%d",&n,&m); for(i=0;i a[i]=i+1; a[i]=0; while(--n) { while(1) { if(c%m==0) { t=a[i],a[i]=a[a[i]],c=1,i=t;break; }else i=a[i],c++; } }printf("%d\n",a[i]原创 2017-01-08 01:09:50 · 270 阅读 · 0 评论 -
选择排序
for(k=0;k index=k; for(i=k+1;i if(a[i] index=i; \\index存放最小值所在的下标 temp=a[index]; a[index]=a[k]; a[k]=temp; \\此三步为最小元素与下标为k之间的元素交换 }(划线表示在for大循环中只执行一次) n为存入数原创 2017-01-08 16:50:29 · 217 阅读 · 0 评论 -
冒泡排序
void bubble (int a[ ],int n) { int i,j,t; for(i=1;i for(j=0;j if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } 自定义函数bubble为冒泡排序主程序。 冒泡排序原理:比较相邻两个数的大小,如果前一个数大,则交换。 如7 3 66 3 -5 第一次循环过后原创 2017-01-08 19:11:59 · 242 阅读 · 0 评论 -
二分查找
int Bsearch(int *p,int n,int x) { int low,high,mid; low=0;high=n-1; while(low mid=(low+high)/2; if(x==p[mid]) break; else if(x high=mid-1; else low=mid+1; } if(low return mid; else re原创 2017-01-08 19:48:04 · 230 阅读 · 0 评论