首页 > 代码库 > 【2017-02-28】冒泡排序
【2017-02-28】冒泡排序
冒泡排序就是比大小,若前者大于后者,则两者交换位置。用两个For循环嵌套来实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 数组 { class Program { static void Main(string[] args) { //冒泡排序 3 5 1 2 4 (12345) //思路:第一个for循环执行第一次的时候把第一个数拿出来和后面的数挨个比较,如果第一个数比后面的数大,则二者交换位置。 //第一个for循环完一次的时候最小的数已经放到了最上面。 //再进行第一个for循环执行第二次,把第二个数拿出来和后边的数比较,若第二个数比后边的数大,则二者交换位置.... //以此类推,完成冒泡排序 int[] a = new int[] { 3, 5, 2, 1, 4 }; for (int i = 0; i < a.Length - 1; i++) //把每一个数都拽出来,最后一个数不用和下一个空比较。 { for (int j = i + 1; j < a.Length; j++) //用来对比的数,从i+1开始 { if (a[i] > a[j]) //如果拽出来的数比要比较的数大,则两个数交换位置 { int f = a[i]; //利用第三者交换两者的值 a[i] = a[j]; a[j] = f; } } } for (int i = 0; i < a.Length; i++) { Console.WriteLine(a[i]); } Console.ReadLine(); } } }
作业题:
string[] ss = new string[5]{"aaa","a","aa","aaaaa","aaaa"};
从大到小打印出来,从小到大打印出来
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 冒泡排序 { class Program { static void Main(string[] args) { string[] ss = new string[5] { "aaa", "a", "aa", "aaaaa", "aaaa" }; for (int i = 0; i < ss.Length-1; i++) { for (int j = i+1; j < ss.Length; j++) { if (ss[i].Length > ss[j].Length) { string a = ss[i]; ss[i] = ss[j]; ss[j] = a; } } } for (int i = 0; i < ss.Length; i++) { Console.WriteLine(ss[i]); } Console.ReadLine(); for (int i = 0; i < ss.Length - 1; i++) { for (int j = i + 1; j < ss.Length; j++) { if (ss[i].Length <ss[j].Length) { string a = ss[i]; ss[i] = ss[j]; ss[j] = a; } } } for (int i = 0; i < ss.Length; i++) { Console.WriteLine(ss[i]); } Console.ReadLine(); } } }
【2017-02-28】冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。