.用“冒泡法”对输入的10个字符排序后按从小到大的次序输出。 #define N 10 char str[N]; sort( ) { int i,j; char t; for(j=1;j<N;j++) for(i=0;i<N-j;i++) if(str[i]> ) { t=str[i]; _____ ______; ______ ______; } } main() { int i; for(i=0;i<10;i++) scanf("%c",&str[i]); sort( ); for(i=0;i<N;i++) printf("%c",str[i]); printf("\n"); }
时间: 2024-03-24 14:36:53 浏览: 84
i, 0);
}
}
public static void heapify(int[] arr, int n, int i) {
int largest可以采用以下代码来完成这个任务:
```
#define N 10
char str[N];
void sort()
{
int i = i;
int l = 2*i + 1;
int r = 2*i + 2;
if (l, j;
char t;
for (j = 1; j < N; j++)
for (i = 0; < n && arr[l] > arr[largest]) {
largest = l;
}
if (r < n && arr[r] i < N - j; i++)
if (str[i] > str[i + 1])
{
t = str[i];
> arr[largest]) {
largest = r;
}
if (largest != i) {
int temp = arr[i];
str[i] = str[i + 1];
str[i + 1] = t;
}
}
int main()
{
arr[i] = arr[largest];
arr[largest] = temp;
heapify(arr, n, largest);
}
int i;
for (i = 0; i < N; i++)
scanf("%c", &str[i]);
sort();
}
}
```
上面的代码中,我们定义了一个 `main` 方法,在该方法中逆序生成了一个数组 for (i = 0; i < N; i++)
printf("%c", str[i]);
printf("\n");
return,并对该数组使用了冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、 0;
}
```
这里使用了冒泡排序算法,通过不断比较相邻的元素,将较堆排序这七种排序算法。对于每个排序算法,我们都记录了排序用时,并输出排序结果。
大的元素往后移动,从而实现从小到大的排序。
阅读全文