같은 문제를 해결하려고 노력 중입니다 ...배열에서 모든 홀수 요소를 시작으로 이동해야하며 ... 심지어 마지막 요소까지 ... 이 방법을 시도했지만 여기에 질서를 잃는 ... 누군가가 나를 도울 수 있습니까 ??????? I는 얻을 출력 ... 장소 용액의 선형 시간 기대 1 3 5 7 9 4 8 2 6
...첫 번째 승점과 마지막 승점
#include<stdio.h>
void swap(int *p,int *q)
{
*p=*p^*q;
*q=*p^*q;
*p=*p^*q;
}
int main()
{
int arr[]={ 2, 1 ,4 ,3 ,6 ,5 ,8 ,7 ,9};
int odd=0;
int even=0;
int arr_size = sizeof(arr)/sizeof(arr[0]);
while(even< arr_size){
if(arr[even]&1)
swap(&arr[odd++],&arr[even++]);
else
even++;
}
int i=0;
for(i=0;i<arr_size ;i++)
printf("%d ",arr[i]);
return 0;
}
예상 출력은 1,3,5,7,9,2,4,6,8,9 –
입니다. 원하는대로 끝나기를 원하십니까? 이상하고 에반스가 정렬되기를 원하십니까? –
도 끝까지 ... 원하는대로 정렬 할 필요가 없습니다 ... –