程序填空题:一趟快速排序
输入$n(n \leq 10)$个整数,这组数以第一个数为基点分成两部分,把比它小的数排到它的后面,比它大的数排到它的前面。
输入要求:第一行输入一个整数n;第二行输入n个整数,两个整数之间用空格隔开。
c++
#include <stdio.h>
int main()
{
int arr[10], x, y;
int n, i, j, k;
scanf ("%d", &n);
scanf ("%d", &x);
j = n - 1;
k = 0;
for (i = 1; i < n; i++)
{
scanf("%d", &y);
if (x > y)
;
else
;
}
;
for (i = 0; i < n; i++)
printf ("%d\n", arr[i]);
return 0;
}
### 输入样例
in
6
5 3 9 7 8 -2
### 输出样例
out
9
7
8
5
-2
3
答案:
第1空:arr[j--] = y
第2空:arr[k++] = y
第3空:arr[k] = x
输入要求:第一行输入一个整数n;第二行输入n个整数,两个整数之间用空格隔开。
c++
#include <stdio.h>
int main()
{
int arr[10], x, y;
int n, i, j, k;
scanf ("%d", &n);
scanf ("%d", &x);
j = n - 1;
k = 0;
for (i = 1; i < n; i++)
{
scanf("%d", &y);
if (x > y)
;
else
;
}
;
for (i = 0; i < n; i++)
printf ("%d\n", arr[i]);
return 0;
}
### 输入样例
in
6
5 3 9 7 8 -2
### 输出样例
out
9
7
8
5
-2
3
答案:
第1空:arr[j--] = y
第2空:arr[k++] = y
第3空:arr[k] = x