
冒泡排序(实验报告)
1、实验和要求理解和掌握冒泡排术,使用C语言根据算法编写一个程序,实现排序。
要求仔细阅读下面的内容,编写C程序,上机通过,并观察其结果,写出实验报告书。
二、实验内容和原理内容:用冒泡排序对顺序存储的长度为10的无序线性表排序。
原理:首先,从表头开始往后扫描线性表,依次比较相邻两个元素,若前面的元素大于后面的元素,将它们交换。
然后,从后往前扫描后面的线性表,依次比较相邻两个元素,若后面的元素大于前面的元素,将它们交换。
对剩下的线性表重复上述过程,直到剩余表为空。
此时的线性表为有序。
三、主要仪器设备计算机一台4、实验主程序#includevoidbub(inta[],intn);intmain(void){inta[10]={456,1564,1231,44,1,32,78,15,3,656},i;for(i=0;i<10;++i)printf(%d,a[i]);printf(\\\ );bub(a,10);for(i=0;i<10;++i)printf(%d,a[i]);printf(\\\ );getchar();return0;}voidbub(inta[],intn){inti,j,k,m,temp;k=0;m=n-1;while(k 都是对的只不过你的答案是优化的 实话实说,虽然我是学习计算机软件专业的,但是毕竟由于很多年没有亲自上机编写程序了,所以一下子也编写不出该冒泡排序程序源代码来。 但是我可以告诉你一个基本思路就是:由于各种排序算法(冒泡排序、堆排序、快速排序等)、以及查找算法(顺序查找、二分查找等)都属于软件专业中的数据结构课程的范畴,故你可以参考数据结构(C语言版)的教材,那上面都有各种算法的伪代码。 你只需要将教材上的数据类型修改为你的程序中所需的数据类型即可(例如:关于冒泡排序算法,数据结构教材上一般都是以对 n 个无序的数字进行冒泡排序,但是你可以根据你自己的具体需要,即:对 n 个字符串进行冒泡排序),将教材上的关于冒泡排序算法的相关形式参数修改为你的数据类型即可。 可以的,运行过了,由大到小排列。 不过最好,i和j的定义在开始的时候定义,因为你在for里面定义i,有些编译器在第三个for里面的i就无法识别i,认为i还没有定义,所以在for前面单独定义一下i会安全一点。 void sa(int array[],int n){ int i,j,k,temp; for(i=0;i<10;i++) { k=i; \\\/\\\/保存i的值,用k来进行循环排序 for(j=i+1;j 第二个循环里面,就是i号元素后面最小的元素对应的标号放到k中,在交换当前元素与k号元素中的值,实现由大到小排序、随机产生20个int类型的数组元素,并用冒泡排序法按降序排列
冒泡排序:输入n个字符串,对其进行冒泡排序,使其按从小到大顺序输出(不用指针做此题)
C++中冒泡法排序
编写程序,从键盘输入10个整数,要求用选择法和冒泡法将它们按从大到小的顺序排序。



