nnpc.net
当前位置:首页 >> 怎样在C#数组中先用冒泡排序,再输出它? >>

怎样在C#数组中先用冒泡排序,再输出它?

static void Main(string[] args) { int[] a= {3,4,6,5,9,7,2,1,8}; Array.Sort(a); for (int i = 0; i < a.Length; i++) { Console.Write(a[i].ToString() + " "); } Console.ReadLine(); }

二维转一维 再输出

public static void sort(int[] array) { int[] arr=new int[]{45,12,44,4,5}; for(int j=1;j<arr.length;j++) {//外循环每次把参与排序的最大数排在最后 for(int i=0;i<arr.length-j;i++) { //内层循环负责对比相邻的两个数,并把最大的排在后面 if(arr[i]>arr[i+1]) { //如果前 一个数大于后一个数,则交换两个数 int temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } } 排序已成,你价格输出就行

嵌套一个for循环再看看别人怎么说的.

冒泡法,比较法都可以啊

你这个输出的是9个9,错误是因为:你的第一个for循环是想得到9个数,但是你的第二个循环得到的总是最大的数,所以最后输出的总是9.按照你的思路你可以这样做:第二个for循环,第一次循环的时候比较前9(总数)个数,得到最大的数,然后把得到的这个数与最后一位交换,然后再循环比较前8个数,得到第二大的数,一次类推.这个方法太笨了~~!建议用冒泡方法,

int[] num = { 12, 5, 34, 14, 1 }; int temp = 0; // 用作变量交换 // 从大到小冒泡排序 for (int i = 0; i { for (int j = i + 1; j { // 如果是改成从小到大冒泡排序,只需把下述代码if条件里的小于号换成大于号即可 if (num[i] { temp = num[i]; num[i] = num[j]; num[j] = temp; } } } // 输出结果,楼主可以运行看看结果 for (int i = 0; i { console.writeline(num[i]); }

好吧,我写个对数组进行冒泡排序的例子: int[] s = { 200, 7, 2, 79, 86 };for (int i = 0; i < s.length - 1; i++){for (int j = 0; j < s.length - i - 1; j++){if (s[j] > s[j + 1]){int temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}}}for (int i = 0; i < s.length; i++){console.writeline(s[i]);}

//冒泡排序,我写了一下按升序的方法://C# Code static void Main(string[] args) { string str = "6,9,4,10,8,2,13"; char[] q = {','}; string[] items = str.Split(q[0]); int len = items.Length; string tmp = ""; for (int i = 0; i < len; i++) { for (int j = i; j < len; j++)

楼主~你只要理解了一看就有答案. 例如:4 2 7 1 首先是2和4比~大的排到后面去.排完之后是2 4 7 1 比较次数1 再4和7比教~大的排后,排完之后是 2 4 7 1(和上面一样)比较次数2 在7和1比较~排后是 2 4 1 7 (到这最大的已经出来了~就是最后一个数)比较次数3 继续排后是:2 4 1 7 (本次是2和4比~)比较次数4 继续.排后是 2 1 4 7(发现第二大的) 比较次数5 继续比较剩下的2个,排后:1 2 4 7 比较次数 6 有了这样的方法之后就简单了.你说的是3次..

网站首页 | 网站地图
All rights reserved Powered by www.nnpc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com