编写sort()函数,对主函数中数组a[10]={7,9,3,4,5,2,1,6,10,8}进行升序排序并输出。
时间: 2023-05-04 11:01:15 浏览: 59
可以使用冒泡排序或快速排序等算法来编写sort函数,实现对整数数组a的升序排列。具体实现可以参考以下代码:
冒泡排序:
void sort(int a[], int n){
int i, j, tmp;
for(i = 0; i < n - 1; i++){
for(j = 0; j < n - 1 - i; j++){
if(a[j] > a[j + 1]){
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
for(i = 0; i < n; i++){
printf("%d ", a[i]);
}
}
快速排序:
void quick_sort(int a[], int left, int right){
int i, j, tmp, pivot;
if(left < right){
pivot = a[left];
i = left;
j = right;
while(i < j){
while(i < j && a[j] >= pivot) j--;
if(i < j) a[i++] = a[j];
while(i < j && a[i] <= pivot) i++;
if(i < j) a[j--] = a[i];
}
a[i] = pivot;
quick_sort(a, left, i - 1);
quick_sort(a, i + 1, right);
}
}
void sort(int a[], int n){
quick_sort(a, 0, n - 1);
for(int i = 0; i < n; i++){
printf("%d ", a[i]);
}
}