c#数组元素排序的问题

问题描述

c#数组元素排序的问题

using System;
using System.Collections.Generic;
using System.Text;

namespace 数组排序_升序排列_
{
class Program
{
static void Main(string[] args)
{
int[] myArray = new int[10] { 10, 54, 34, 45, 4, 8, 38, 9, 7, 11 };
Console.WriteLine("原始数组为: ");
foreach (int number in myArray)
{
Console.Write(number + " ");
}
Console.WriteLine();
int i, j, t, min;
for (i = 0; i < 10; i++)
{
min = i;
for (j = i + 1; j < 10; j++)
{
if (myArray[j] < myArray[min])
{
min = j;
}
}
if (min != i)
{
t = myArray[i];
myArray[i] = myArray[min];
myArray[min] = t;
}
Console.WriteLine("排序后数组为: ");
foreach (int number in myArray)
{
Console.Write(number +" ");
}
Console.ReadLine();
}
}
}
}


代码就这样,为什么没排好序?只有两个数字位置变化了。

解决方案

把输出部分拿到for循环外面即可。

 class Program
    {
        static void Main(string[] args)
        {
            int[] myArray = new int[10] { 10, 54, 34, 45, 4, 8, 38, 9, 7, 11 };
            Console.WriteLine("原始数组为: ");
            foreach (int number in myArray)
            {
                Console.Write(number + " ");
            }
            Console.WriteLine();
            int i, j, t, min;
            for (i = 0; i < 10; i++)
            {
                min = i;
                for (j = i + 1; j < 10; j++)
                {
                    if (myArray[j] < myArray[min])
                    {
                        min = j;
                    }
                }
                if (min != i)
                {
                    t = myArray[i];
                    myArray[i] = myArray[min];
                    myArray[min] = t;
                }
            }

            Console.WriteLine("排序后数组为: ");
            foreach (int number in myArray)
            {
                Console.Write(number + " ");
            }
            Console.ReadLine();
        }
    }

解决方案二:

数组元素排序
数组中的元素排序(选择和冒泡)

解决方案三:

不需要使用什么冒泡算法,LINQ查询一行代码就可以搞定

             int[] myArray = new int[10] { 10, 54, 34, 45, 4, 8, 38, 9, 7, 11 };
            var query1 = myArray.OrderBy(val => val);//升序
            var query2 = myArray.OrderByDescending(val => val);//降序
            foreach (var item in query1)
           {
               Console.Write(item);
           }
            foreach (var item in query2)
            {
                Console.Write(item);
            }
时间: 2024-09-11 05:57:29

c#数组元素排序的问题的相关文章

js常用的数组元素排序算法(冒泡 插入 希尔)(1/2)

下面来看看网页特效中常用的一些排序方法 ,我们主要是包括有冒泡 插入 希尔排序方法 ,主要是针对数组操作.     // ---------- 一些排序算法     // js 利用sort进行排序      systemsort:function(array){         return array.sort(function(a, b){             return a - b;         });     },     // 冒泡排序      bubblesort:fu

php二维数组多元素排序例子

写个二维数组的多元素排序,多元素排序类似sql中的order by sort,date,下面代码考虑性能问题,只涉及2个元素进行排序. 代码区: function multipleArraySort($old_arr,$arr1,$arr2){ //排序第一个元素 $old_arr = array_sort($old_arr,$arr1[0],$arr1[1]); $temp_array = $new_temp_array = array(); foreach($old_arr as $k =>

php数组的排序

在php中,可以使用sort()函数对数组元素排序. 例: <?php$arr=array(75,32,65,98,85,12);sort($arr);foreach($arr as $k=>$var){ echo $var." ";}?> 也可以使用冒泡排序.快速排序等经典算法对数组元素排序,下面是冒泡排序的例子: 冒泡排序 php文件: <?php//用冒泡排序法,实现从小到大排列$arr=array(75,32,65,98,85,12);$temp=0;/

JavaScript中用sort()方法对数组元素进行排序的操作

  这篇文章主要介绍了JavaScript中用sort()方法对数组元素进行排序的操作,是JS入门学习中的基础知识,需要的朋友可以参考下 JavaScript数组sort()方法排序数组的元素. 语法 ? 1 array.sort( compareFunction ); 下面是参数的详细信息: compareFunction : 指定一个函数,定义排序次序.如果省略,数组字典顺序排序. 返回值: 返回一个排序的数组 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <

class-编写一个使用类模板对数组进行排序、查找和求元素和的程序。

问题描述 编写一个使用类模板对数组进行排序.查找和求元素和的程序. 设计一个类模板templateclass Array,用于对T类型的数组进行排序.查找和求元素和,然后由此产生模板类Array和Array. 解决方案 http://www.warting.com/program/201109/33601.html 第四题 解决方案二: 编写一个使用类模板对数组进行排序,查找和求元素和的程序.

编程-数组类模板Array,类中包括对数组进行排序、查找和求元素和 然后由此产生模板类Array&amp;amp;lt;Box&amp;amp;gt;

问题描述 数组类模板Array,类中包括对数组进行排序.查找和求元素和 然后由此产生模板类Array<Box> #include using namespace std;class Box{private: int a b c;public: int V; Box(int chint kint g) { a = ch; b = k; c = g; V = a*b*c; } bool operator <(Box &one) { int temp = V - one.V; if (

JavaScript中用sort()方法对数组元素进行排序的操作_基础知识

 JavaScript数组sort()方法排序数组的元素.语法 array.sort( compareFunction ); 下面是参数的详细信息:     compareFunction : 指定一个函数,定义排序次序.如果省略,数组字典顺序排序. 返回值: 返回一个排序的数组例子: <html> <head> <title>JavaScript Array sort Method</title> </head> <body> &l

php 数组元素随机排序代码

php教程 数组元素随机排序代码 因为工作需要我要对我定义好的数组进行随机排序,每一次循环都要是不同的,下面我们利用了php shuffle函数随机对数组元素进行排序.方法非常简单. shuffle() 函数把数组中的元素按随机顺序重新排列. 若成功,则返回 true,否则返回 false. 注释:本函数为数组中的单元赋予新的键名.这将删除原有的键名而不仅是重新排序. */ $array = array(1,2,3,4); for( $i=1;$i<30;$i++) {  shuffle( $a

Javascript数组的排序:sort()方法和reverse()方法

文章简介: JavaScript中的数组排序. JavaScript提供了sort()方法和reverse()方法,使得我们可以简单的对数组进行排序操作和逆序操作.其中: 1.JavaScript的sort()中如果没有指定比较函数,则默认会按照字符的编码顺序进行升序排序.也就是说如果我们想要对数值进行排序得到的不一定是我们想要的结果. 2.Javascript的reverse()将数组中的元素逆序. 先看看上面的第一点,如果有一个数组arr=[1,6,3,7,9],使用arr.sort()后,