8_09.c
来自「浙大颜晖视频课件」· C语言 代码 · 共 46 行
C
46 行
/*
【例8-9】输入n个正整数,将它们从小到大排序后输出。要求使用冒泡排序算法。
*/
/* 指针和数组及存储单元 - 冒泡排序算法 */
#include <stdio.h>
void swap2 (int *, int *);
void bubble (int a[], int n);
int main(void)
{
int n, a[8];
int i;
printf("Enter n (n<=8): ");
scanf("%d", &n);
printf("Enter a[%d] : ",n);
for (i=0; i<n;i++)
scanf("%d",&a[i]);
bubble(a,n);
printf("After sorted, a[%d] = ", n);
for (i=0; i<n; i++)
printf("%3d",a[i]);
return 0;
}
void bubble (int a[], int n) /* n是数组a中待排序元素的数量 */
{
int i, j;
for( i = 1; i < n; i++) /* 外部循环 */
for (j = 0; j < n-i; j++ ) /* 内部循环 */
if (a[j] > a[j+1]) /* 比较两个元素的大小 */
swap2 (&a[j], &a[j+1]); /* 如果后一个元素大,则交换 */
}
void swap2 (int *px, int *py)
{
int t;
t = *px;
*px = *py;
*py = t;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?