资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,#,/,/,编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。,/*冒泡排序算法的运作如下:,1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。,2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。,3.针对所有的元素重复以上的步骤,除了最后一个。,4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。,*/,冒牌排序详解:,1,2025/4/12 周六,例:用冒泡排序的方法将下面一组无序数组,排成从小到大的顺序。,49,38,65,97,76,13,27,49,分析:首先为了方便分析,我们把所给的数据,先用一个表格列出来,如下:,2,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,49,38,65,97,76,13,27,49,第一趟排序,的步骤:,4938,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,97,76,13,27,49,原始数据,3,2025/4/12 周六,4965,保持不变,序号,1,2,3,4,5,6,7,8,数据,38,49,65,97,76,13,27,49,序号,1,2,3,4,5,6,7,8,数据,38,49,65,97,76,13,27,49,4,2025/4/12 周六,6576,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,97,13,27,49,序号,1,2,3,4,5,6,7,8,数据,38,49,65,97,76,13,27,49,6,2025/4/12 周六,9713,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,97,13,27,49,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,97,27,49,7,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,97,27,49,9727,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,97,49,8,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,97,49,9749,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,9,2025/4/12 周六,第一趟排序后的数据和序号,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,第二趟排序,的步骤:,3849,保持不变,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,10,2025/4/12 周六,4965,保持不变,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,11,2025/4/12 周六,65,13,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,76,13,27,49,97,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,76,27,49,97,13,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,76,27,49,97,7627,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,27,76,49,97,14,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,27,76,49,97,7649,交换位置,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,27,49,76,97,15,2025/4/12 周六,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,27,49,76,97,7697,保持不变,序号,1,2,3,4,5,6,7,8,数据,38,49,65,13,27,49,76,97,16,2025/4/12 周六,using System;,using System.Collections.Generic;,using System.Linq;,using System.Text;,using System.Threading.Tasks;,namespace 冒泡排序,/编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序,class Program,static void Main(string args),int i,j;,int temp;,int a=new int 10;,/从键盘输入10个实数,Console.WriteLine(请输入10个实数:);,for(i=0;i 10;i+),Console.Write(请输入第0个数:,i);,ai=int.Parse(Console.ReadLine();,17,2025/4/12 周六,/存入一个数组。排序前的数据,Console.Write(排序前的数据顺序:);,for(i=0;i 10;i+),Console.Write(0,4,ai);,/用冒泡法对这个数作升序排序,for(i=0;i 10;i+)/元素的个数。,for(j=0;j aj+1),temp=aj;,aj=aj+1;,aj+1=temp;,18,2025/4/12 周六,/冒泡排序后的数据顺序,Console.Write(n排序后的数据顺序:);,for(i=0;i 10;i+),Console.Write(0,4,ai);,Console.ReadKey();,以上就是一个冒泡排序的,C#,代码,19,2025/4/12 周六,
展开阅读全文