【C#】[算法]冒泡排序
2011-01-25 13:34
316 查看
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 冒泡排序算法 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } /* 算法:冒泡法 问题:无序数排列 问题描述:有一组无序排列的整数,通过算法计算使它们成为从小到大依次排列? 问题分析: 首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两记录的值。 然后比较第二个和第三个记录的关键字,依次类推,直至最后一个记录也进行过比较。 上述过程称为第一趟冒泡排序,其结果是最大值被安置到最后一个记录的位置上。 进行第二趟排序,对前N-1个记录进行同样的排序。 依次类推,当进行完N-1趟排序后,所有记录有序排列。 备注 */ int[] s = new int[10];//存放要排序的数 //窗体载入 private void Form1_Load(object sender, EventArgs e) { button2_Click(sender, e);//执行按钮2的事件,取随机数 } //取随机数 private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear();//清空列表 Random r = new Random();//随机数种子 for (int i = 0; i <10; i++) { s[i] = r.Next(100);//产生10个随机数填入数组 listBox1.Items.Add(s[i].ToString());//随机数填入控件 } } //排序 private void button1_Click(object sender, EventArgs e) { listBox2.Items.Clear();//清空列表 for (int i = 0; i <= s.Length; i++)//第一层循环 { for (int j = i+1; j < s.Length; j++)//第二层循环 { if (s[i] > s[j])//按升序交换位置,数大的在后面 { int k;//中间变量 k = s[j]; s[j] = s[i]; s[i] = k; } } } //把排序后的数组循环添加到窗体控件上 for (int i = 0; i < 10; i++) { listBox2.Items.Add(s[i].ToString()); } } } }
相关文章推荐
- 算法 - 冒泡排序(C#)
- c#算法-冒泡排序
- C#算法之冒泡排序实例
- 【C#算法】冒泡排序 选择排序 插入排序 希尔排序--转
- 算法 - 冒泡排序(C#)
- c# 数据结构算法学习一:冒泡排序
- 小小c#算法题 - 0 - 单循环冒泡排序
- C#算法 选择排序、冒泡排序、插入排序
- C#算法基础之冒泡排序
- [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序
- [数据结构与算法]C#冒泡排序
- C# 算法之 冒泡排序
- C#算法之“冒泡排序”
- 【C#】2.算法温故而知新 - 冒泡排序
- 一头扎进算法导论-冒泡排序
- C#算法 希尔排序
- 金融系统中PBOC/EMV的TLV的算法实现(含C++/C#)
- 插入排序算法--直接插入算法,折半排序算法,希尔排序算法(C#实现)
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- 经典算法:二分查找、插入排序、选择排序、冒泡排序