```cpp
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void quick_sort(int* nums, int first, int last)
{
if (first >= last)
{
return;
}
int low = first;
int high = last;
int mid = nums[first];
while (low < high)
{
while (low <high && nums[high] >= mid)
{
high--;
}
nums[low] = nums[high];
while (low < high && nums[low] < mid)
{
low++;
}
nums[high] = nums[low];
}
nums[low] = mid;
quick_sort(nums, first, low );
quick_sort(nums, low+1, last);
}
void Print(int* nums, int length)
{
int i = 0;
for (i; i < length+1; i++)
{
printf("%d ", *(nums + i));
}
printf("\n");
}
void main()
{
int num[] = { 9,8,7,6,5,4,3,2,1,0 };
int length = sizeof(num) / sizeof(int) - 1;
Print(num, length);
printf("\n");
quick_sort(num, 0, length);
Print(num, length);
system("pause");
return;
}