今天面试时机试,15分钟,当场没写玩,以前总觉得自我感觉良好,可程序中不允许有逻辑盲区。灰溜溜跑了。是我心仪已久的公司,现在很悔恨,完整代码如下,以后参考:
#define MAX_NUM 8
int pivot_loc;
int Partition(int *array,int low,int high)
{
int pivot_key = array[low];
int tmp;
while(low < high)
{
while((low < high) && pivot_key <= array[high])
high--;
array[low] = array[high];
while((low < high) && pivot_key >= array[low])
low++;
array[high] = array[low];
}
array[low] = pivot_key;
return low;
}
void Qsort(int *array,int low,int high)
{
if(low < high)
{
pivot_loc = Partition(array, low, high);
Qsort(array, low, pivot_loc - 1);
Qsort(array,pivot_loc + 1,high);
}
}
void main()
{
int i,j = 0;
int array[MAX_NUM];
while(1)
{
scanf("%d",&i);
array[j] = i;
j++;
if(j > MAX_NUM - 1)
break;
}
Qsort(array, 0, MAX_NUM - 1);
for(i = 0;i <= MAX_NUM - 1;i++)
printf("%d->",array[i]);
printf("/n");
getch();
}