C做的冒泡排序动态演示

上传人:公**** 文档编号:507961475 上传时间:2023-05-11 格式:DOCX 页数:19 大小:230.17KB
返回 下载 相关 举报
C做的冒泡排序动态演示_第1页
第1页 / 共19页
C做的冒泡排序动态演示_第2页
第2页 / 共19页
C做的冒泡排序动态演示_第3页
第3页 / 共19页
C做的冒泡排序动态演示_第4页
第4页 / 共19页
C做的冒泡排序动态演示_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《C做的冒泡排序动态演示》由会员分享,可在线阅读,更多相关《C做的冒泡排序动态演示(19页珍藏版)》请在金锄头文库上搜索。

1、冒泡排序动态演示一、 工作介绍利用C#语言实现了冒泡排序的动态演示,可以对十个0100间的整数进行冒泡排序,排序过程较清晰明了,每次排序的结果都显示出来,把冒泡的思想展现了出来,对初次理解冒泡的人有很好的帮助作用!1、首先设置了两个窗口,一个作为输入数字和排序方法选择的窗体,另一个作为手动输入数字时的临时窗体,当上述的初始化工作结束后,选择了冒泡方法后,就进入了排序过程的窗体,在这里就开始演示冒泡排序的思想,以上是程序的基本框架。 2、依次介绍各个模块的实现过程。初始化排序数字和排序方法选择窗体,该窗体如下图1所示图1初始化排序数字和排序方法选择窗体此窗体共有4个单击事件触发控件,其分别为图1

2、所示的“手动输入数”、“生成随机数”、“普通冒泡演示”和“优化冒泡演示”,前两个实现待排序数字的初始化的功能,后两个实现冒泡方法选择的功能。此窗体还含有3个Time控件和1个toolTip控件,Time控件用来实现程序执行的时间间隔,而toolTip控件用来实现实时显示窗体鼠标处的坐标用途,以来更好的分配各个模块的位置。另外还有2个label控件分别用来显示初始化的数字和排好序后的结果。相关控件的主要代码1.1“手动输入数”按钮的触发事件代码:private void button3_Click_1(object sender, EventArgs e) Input input = new I

3、nput(); input.ShowDialog(); randNums = input.randNums; if (randNums = null) return; label1.Text = ; for (int i = 0; i randNums.Length; i+) label1.Text += randNumsi + ; 其中input.ShowDialog();此语句的执行就打开了输入数字的窗体:如下图所示:如图中所示的窗体,共有三个控件分别为:label、txtInput和Button。其主要的代码如下: public partial class Input : Form pu

4、blic int randNums=new int10; public Input() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string text = this.txtInput.Text; string result = text.Split(,); if (result.Length != 10) MessageBox.Show(输入个数不是十个); return; int i = 0; for (; i 10; i+) try randNumsi = int.Parse

5、(resulti); catch MessageBox.Show(第 + (i + 1) + 个输入不是整数); return; if (randNumsi 99) MessageBox.Show(第 + (i + 1) + 个数不在0-100); return; this.Close(); private void txtInput_TextChanged(object sender, EventArgs e) private void label1_Click(object sender, EventArgs e) private void Input_Load(object sender

6、, EventArgs e) 1.2“生成随机数”按钮的触发事件代码:private void button1_Click(object sender, EventArgs e) ShowRandom(10); public void ShowRandom(int num) if (label1.Text != ) label1.Text = ; label1.Font = new Font(Font.SystemFontName, 15); randNums=new intnum; Random rand = new Random(); for (int i = 0; i num; i+)

7、randNumsi = rand.Next(100); label1.Text += randNumsi + ; 其效果如下图所示:1.3“普通冒泡演示”和“优化冒泡演示”按钮当数字初始化完成后就可以选择排序功能的工作其代码基本相同,原理也一样这里就拿“普通冒泡演示”来说明,并且他们是和Time控件一起工作的,其代码如下:namespace hyl public partial class Form1 : Form int step = 0,start=0,state=0; int amend = 0; public int randNums; Form demo; Label, labels

8、; Label sign,explain; Button startButton, stepButton,stopButton,closeButton; int srcX, srcY, targetX, targetY,indexI,indexJ; int i = 0,i1=0,m; bool flag = true; public Form1() InitializeComponent(); private void button2_Click(object sender, EventArgs e) amend = 0; if (randNums = null) MessageBox.Sho

9、w(请先生成随机数); return; demo = new Form(); demo.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; demo.Size = new System.Drawing.Size(Screen.GetWorkingArea(this).Width, Screen.GetWorkingArea(this).Height); demo.Text = 通用冒泡过程观看; stepButton = new Button(); stepButton.Location = new Syst

10、em.Drawing.Point(850, 60); stepButton.Size = new System.Drawing.Size(90, 25); stepButton.Text = 单步观看; stepButton.Click += new System.EventHandler(this.stepButton_Click); demo.Controls.Add(stepButton); startButton = new Button(); startButton.Location = new System.Drawing.Point(850, 90); startButton.S

11、ize = new System.Drawing.Size(90, 25); startButton.Text = 连续观看; startButton.Click += new System.EventHandler(this.startButton_Click); demo.Controls.Add(startButton); stopButton = new Button(); stopButton.Location = new System.Drawing.Point(850, 120); stopButton.Size = new System.Drawing.Size(90, 25); stopButton.Text = 停止; stopButton.Click += new Syste

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号