利用start和end指针记录每层元素的个数,即每层压入的元素个数,当元素一个个从list中remove时start++,直到与end相遇,成功打印了一层元素。
利用low和high指针,通过双指针的线性移动来改变中间状态变量,从而达到搜索的目的
4.快速排序
5.给定一个数组,数组中元素有奇数有偶数。要求对数组进行处理,使得数组的左边为奇数,右边为偶数
void partition(int *arr,int n){
int i = 0;
int j = n-1;
while(1){
while(i<j && arr[i]%2 == 1) i++;
while(i<j && arr[j]%2 == 0) j--;
if(i<j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
未完待续。。