
大一
f0ng
网络安全
展开
-
出圈问题
int i,n,m,t,a[1024],c=1;scanf("%d%d",&n,&m);for(i=0;ia[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;}elsei=a[i],c++;}}printf("%d\n",a[i]原创 2017-01-08 01:09:50 · 291 阅读 · 0 评论 -
选择排序
for(k=0;kindex=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 · 235 阅读 · 0 评论 -
冒泡排序
void bubble (int a[ ],int n){int i,j,t;for(i=1;ifor(j=0;jif(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 · 260 阅读 · 0 评论 -
二分查找
int Bsearch(int *p,int n,int x){int low,high,mid;low=0;high=n-1;while(lowmid=(low+high)/2;if(x==p[mid])break;else if(xhigh=mid-1;else low=mid+1;}if(lowreturn mid;elsere原创 2017-01-08 19:48:04 · 252 阅读 · 0 评论