欢迎来到天天文库
浏览记录
ID:37241009
大小:62.00 KB
页数:4页
时间:2019-05-20
《冒泡排序真题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、16.【加试题】n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相邻两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Commaiid1,在列表框List2中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如第16题图所示。实现上述功能的VB代码如下,但加框处代码有错,请改正。Dima(1To8)AsIntege
2、rDimnAsIntegerPrivateSubForm_Load()'n=8,排序前数据存储在数组a中,并在列表框Listl中显示'代码略EndSubPrivateSubCommand1_Click()DimflagAsBoolean'flag值为True表示一遍加工中发生过交换i=1flag=TrueDoWhile'(1)i<=n-1Orflag=Trueflag=FalseForj=nToi+1Step-1Ifa(j)3、ji=i+1LoopStr(i)Label3.Caption="排序过程的加工遍数为"+'(2)Fori=1TonList2.AddItemStr(a(i))NextiEndSub第16题图16.【加试题】小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如4、图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Dima(1To8)AsIntegerDimnAsIntegerPrivateSubForm_Load()a(1)=30:a(2)=47:a(3)=30:a(4)=72a(5)=70:a(6)=23:a(7)=99:a(8)=24n=8Fori=1To8List1.AddItema(i)NextiEndSubPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsIntegerDimposAsIntegerDimsAsSt5、rings=Text1.Textpos=Val(Text1.Text)Fori=1Ton-1Forj=nToi+1Step-1Ifa(j)6、)到a(n+1)依次存储第1、2、…第n个班级人数…a(n+1)a(n+2)从a(n+2)依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、…第n班每个学生的单科成绩……Fori=1TonList2.AddItemStr(a(i))NextiEndSub16.【加试题】小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Con7、stn=10Dima(1Ton)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,tAsIntegerDimbottomAsInteger'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。代码略bottom=ni=1DoWhilei<=bottom-1Forj=bottomToi+1Step-1Ifa(j)8、(bottom)=a(j)bottom=bottom-1EndIfNextji=i+1LoopText2.Text=""Fori=1TobottomText2.Text=Text2.Text+Str(a(i))Nexti
3、ji=i+1LoopStr(i)Label3.Caption="排序过程的加工遍数为"+'(2)Fori=1TonList2.AddItemStr(a(i))NextiEndSub第16题图16.【加试题】小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如
4、图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Dima(1To8)AsIntegerDimnAsIntegerPrivateSubForm_Load()a(1)=30:a(2)=47:a(3)=30:a(4)=72a(5)=70:a(6)=23:a(7)=99:a(8)=24n=8Fori=1To8List1.AddItema(i)NextiEndSubPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsIntegerDimposAsIntegerDimsAsSt
5、rings=Text1.Textpos=Val(Text1.Text)Fori=1Ton-1Forj=nToi+1Step-1Ifa(j)6、)到a(n+1)依次存储第1、2、…第n个班级人数…a(n+1)a(n+2)从a(n+2)依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、…第n班每个学生的单科成绩……Fori=1TonList2.AddItemStr(a(i))NextiEndSub16.【加试题】小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Con7、stn=10Dima(1Ton)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,tAsIntegerDimbottomAsInteger'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。代码略bottom=ni=1DoWhilei<=bottom-1Forj=bottomToi+1Step-1Ifa(j)8、(bottom)=a(j)bottom=bottom-1EndIfNextji=i+1LoopText2.Text=""Fori=1TobottomText2.Text=Text2.Text+Str(a(i))Nexti
6、)到a(n+1)依次存储第1、2、…第n个班级人数…a(n+1)a(n+2)从a(n+2)依次存储第1班每个学生的单科成绩、第2班每个学生的单科成绩、…第n班每个学生的单科成绩……Fori=1TonList2.AddItemStr(a(i))NextiEndSub16.【加试题】小李基于冒泡排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。实现上述功能的VB程序如下,但加框处代码有错,请改正。Con
7、stn=10Dima(1Ton)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,tAsIntegerDimbottomAsInteger'获取排序前数据依次存储在数组a中,并在文本框Text1中显示。代码略bottom=ni=1DoWhilei<=bottom-1Forj=bottomToi+1Step-1Ifa(j)8、(bottom)=a(j)bottom=bottom-1EndIfNextji=i+1LoopText2.Text=""Fori=1TobottomText2.Text=Text2.Text+Str(a(i))Nexti
8、(bottom)=a(j)bottom=bottom-1EndIfNextji=i+1LoopText2.Text=""Fori=1TobottomText2.Text=Text2.Text+Str(a(i))Nexti
此文档下载收益归作者所有