一、实验目的
理解冒泡排序的原理和特点;掌握冒泡排序的复杂度;理解冒泡排序的代码。
二、实验内容
写出初始序列 70 75 69 32 88 18 16 58 经过冒泡排序有小到大最终有序的过程。
排序过程:
70 69 32 75 18 16 58 88 69 32 70 18 16 58 75 88 32 69 18 16 58 70 75 88 32 18 16 58 69 70 75 88 18 16 32 58 69 70 75 88 16 18 32 58 69 70 75 88 16 18 32 58 69 70 75 88
三、实验要点
交换两个数的程序
如果要交换变量a和b的值,可以用中间变量t作为过渡。这是非常经典的用法。
t = a; a = b; b = t;
通常每个语句一行。 但这里为了是代码看着更为紧凑,将关系非常密切的3个语句写成一行。
四、代码
#include <stdio.h> int main(int argc, char *argv[]) { int a[8]= {70, 75, 69, 32, 88, 18, 16, 58}; int i, j, t, n=8; for (i=n-1; i>0; i--) { for(j=0; j<i; j++) if (a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for (j=0; j<n; j++) printf("%4d", a[j]); printf("\n"); } return 0; }
五、实验小结
总结实验过程中遇到的问题及解决办法,不少于50字。