C#数组的排序
对于数组的排序有好多种方法,上面这种是最常规的方法,当然在Array类中有两个方法就是专门来完成排序的,一会我们再来看这两方法,下面我们还是来看一下语法吧,只要搞懂语法了,就可以自己随便排序了。
冒泡排序语法:
for (int i = 0; i < 数组长度 - 1; i++)
{
for (int j = 0; j < 数组长度 - i - 1; j++)
{
if (数组名[j] < 数组名[j + 1])
{
int empty = 数组名[j];
数组名[j] = 数组名[j + 1];
数组名[j + 1] = empty;
}
}
}
上面这个语法是降序排序,如果想升序的话就把if(数组名[j]<数组名[j=1])里面的小于号“<”改成大于号“>”就可以了。
刚才我们说到了Array类中的两个排序的方法,下面我们就简单的介绍一下Array类中的这两个方法。
在Array中实现升序排列的方法是Array.Sort(数组名),比如:Array.Sort(change).当然了降序也有Array.Reverse(数组名),比如:Array.Reverse(change),这个Reverse就是把数组的排序颠倒过来,也叫反转。
下面我们就把这两个方法放到实例中看看效果:

class Program
{
static void Main(string[] args)
{
int[] change = { , , , , };
int length = change.Length;//得到数组的长度
int i;
Console.WriteLine("Array排序前:");
for (i = ; i < length; i++)//循环输出排序前的值
{
Console.WriteLine("{0}", change[i]);
}
//下面是Array.Sort升序排列
Array.Sort(change);
Console.WriteLine("Array.Sort排序后:");
for (i = ; i < length; i++)
{
Console.WriteLine("{0}", change[i]);//循环输出Array.Srot升序排列结果
}
//下面是Array.Reverse降序排列后
Array.Reverse(change);
Console.WriteLine("Array.Reverse排序后:");
for (i = ; i < length; i++)
{
Console.WriteLine("{0}", change[i]);//循环输出Array.Reverse降序排列结果
}
Console.ReadKey();
}
}

运行结果:

冒泡排序和Array类中的两个方法排序实现出来的效果是相同的,不过相比而言冒泡排序的通用性很强,而且使用范围也比较广,还是希望大家多采用冒泡排序。
总结:1.数组的创建;
2.数组的长度;
3.冒泡排序;
4.Array类的两个方法;
以上就是本次的分享,可能内容比较少,但是只要把它都很好的掌握了,我觉得也是一种进步,知识在于积累嘛!对吧!Ok!The end!
此文是本人的个人观点,如有不完善或者不准确的地方,欢迎高手进行批评,老鸟进行指点。
C#数组的排序的更多相关文章
- iOS之数组的排序(升序、降序及乱序)
#pragma mark -- 数组排序方法(升序) - (void)arraySortASC{ //数组排序 //定义一个数字数组 NSArray *array = @[@(3),@(4),@(2) ...
- javascript:算法之数组sort排序
数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...
- 有1,2,3一直到n的无序数组,排序
题目:有1,2,3,..n 的无序整数数组,求排序算法.要求时间复杂度 O(n), 空间复杂度O(1). 分析:对于一般数组的排序显然 O(n) 是无法完成的. 既然题目这样要求,肯定原先的数组有一定 ...
- PHP array_multisort—对多个数组或多维数组进行排序
PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...
- javascript数组对象排序
javascript数组对象排序 JavaScript数组内置排序函数 javascript内置的sort函数是多种排序算法的集合 JavaScript实现多维数组.对象数组排序,其实用的就是原生的s ...
- Objective-C之NSArray(数组)默认排序与自定义排序
在讲OC中数组的排序之前我先上一段代码,它是简单数组排序的一种方法(也就是元素是字符串或者数据的数组,因为后面要讲元素为类的数组排序) 代码1: NSArray *sortArr4 = [sortAr ...
- JavaScript 使用 sort() 方法从数值上对数组进行排序
使用 sort() 方法从数值上对数组进行排序. <html> <body> <script type="text/javascript"> f ...
- linux中利用awk对数组进行排序
数组 在排序前需要对数组有所了解,数组是用于存储一系列值得变量,这些值之间通常是由联系的,可通过索引来访问数组的值,索引需要用括号括起来,基本格式如下: array[index]=value awk数 ...
- C#数组的排序(正序逆序)
C#数组的排序(正序逆序) 这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using ...
随机推荐
- chromium浏览器开发系列第四篇:如何调试最新chromium源码
转自:http://blog.itpub.net/20687969/viewspace-1586513/ 附上上几篇文章地址,方便大家查看: 下载源码 编译源码 目录结构 接二连三的事情,时间比较紧张 ...
- android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解 (转)
原文地址:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解 作者: 第一种情况:有MAIN,无LAUNCHER,程 ...
- 让html元素随浏览器的大小自适应垂直居中
转自:http://www.cnblogs.com/linjiqin/archive/2011/06/15/2081362.html 表格可以实现td中的元素垂直居中显示,但是前提条件必须定义td的高 ...
- 贪心 BestCoder Round #39 1001 Delete
题目传送门 /* 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 否则再在tot里减去多余的即为答案 用set容器也可以做,思路一样 */ # ...
- BZOJ3658 : Jabberwocky
考虑将某线段下方的点取走: 将所有点从低到高排序 每扫描到一条水平线,对于上面每个点,找到它下面同色的前驱后继,统计中间点的个数 然后再把线上所有点插入数据结构中 最后再统计相邻的同色的点之间的点个数 ...
- android sdk 安装排错
如果你遇到了消息为“Failed to fetch URL…” 的错误提示,那么你需要将HTTPS方式改为HTTP方式,方法如下: 碰到这样错误,请按下边的操作. 1)在菜单选择Tools—Optio ...
- TYVJ P1094 矩形分割 标签:DP
做题记录:2016-08-12 21:42:21 背景 YHOI Train#4 Problem 1 描述 出于某些方面的需求,我们要把一块N×M的木板切成一个个1×1的小方块.对于一块木板,我们只能 ...
- NOIP200003方格取数
NOIP200003方格取数 难度级别: D: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 XYZ 是首师大附中信息技术团编 ...
- mysql中datetime与timestamp的比较
相同 显示 TIMESTAMP列的显示格式与DATETIME列相同.换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS. 不同 范围 datetime 以'YYYY-M ...
- CentOS目录结构超详细版
最近初学Linux 对linux的目录产生了很多疑问,看到这篇文章,让我顿时对目录有了一个清晰的认识!推荐给大家! ------------------------------------------ ...