#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<assert.h>
#include<ctype.h>
#define MAXSIZE 20
void swap(int *p1,int *p2) {
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
void fb(int arr[],int len) {
int begin=0;
int end=len-1;
int cur=0;
while(cur<=end) {
if(arr[cur]==0) {
swap(&arr[cur],&arr[begin]);
begin++;
cur++;
} else if(arr[cur]==1) {
cur++;
} else {
swap(&arr[cur],&arr[end]);
end--;
}
}
}
int main() {
int len;
int i;
int arr[]= {0,2,1,2,1,0,2,1,0,0,2,1};
len=sizeof(arr)/sizeof(int);
fb(arr,len);
for(i=0; i<len; i++) {
printf("%d\t",arr[i]);
}
}
荷兰国旗问题 c++代码
最新推荐文章于 2024-04-28 23:37:54 发布