C#中定义数组和一个简单排序算法实现。
2011-07-30 13:18
651 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApp20110730 { class Program { static void Main(string[] args) { int n = 18; int[] a = new int[18]{ 0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5}; int[] b = new int[18] { 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5 }; Console.WriteLine("排序前:"); Console.WriteLine("初始化输入A【18】:"); foreach (var item in a) { Console.Write(item); } Console.WriteLine(""); Console.WriteLine("初始化输入A【18】结束。"); Console.WriteLine("初始化输出B【18】:"); foreach (var item in b) { Console.Write(item); } Console.WriteLine(""); Console.WriteLine("初始化输入B【18】结束。"); Console.WriteLine("开始排序。。。。"); Sort(n,a,b); Console.WriteLine("排序结束。"); Console.WriteLine("排序后:"); Console.WriteLine("初始化输入A【18】:"); foreach (var item in a) { Console.Write(item); } Console.WriteLine(""); Console.WriteLine("初始化输入A【18】结束。"); Console.WriteLine("初始化输出B【18】:"); foreach (var item in b) { Console.Write(item); } Console.WriteLine(""); Console.WriteLine("初始化输入B【18】结束。"); } private static void Sort(int n, int[] a, int[] b) { try { int r = 6; int[] R = new int[r]; for (int i = 0; i < r; i++) { R[i] = 0; } for (int i = 0; i < n; i++) { R[a[i]] = R[a[i]] + 1; } for (int i = 1; i < r; i++) { R[i] = R[i] + R[i - 1]; } for (int i =(n-1); i >= 0; i--) { b[R[a[i]] - 1] = a[i]; R[a[i]] = R[a[i]] - 1; } } catch (Exception ex) { throw new Exception(ex.Message); } } } }
C#中定义数组
一、一维:int[] numbers = new int[]{1,2,3,4,5,6}; //不定长
int[] numbers = new int[3]{1,2,3};//定长
二、多维
int[,] numbers = new int[,]{{1,2,3},{1,2,3}}; //不定长
int[,] numbers = new int[2,2]{{1,2},{1,2}}; //定长
三、例子
A:int[] mf1=new int[6];
//注意初始化数组的范围,或者指定初值; //包含6个元素的一维整数数组,初值1,2,3,4,5,6
int[] mf2=new int[6]{1,2,3,4,5,6};
B://一维字符串数组,如果提供了初始值设定项,则还可以省略 new 运算符
string[] mf3={"c","c++","c#"};
C://一维对象数组
Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 };
D://二维整数数组,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,]{{1,2},{3,4}};
E://6*6的二维整型数组
int[,] mf6=new mf[6,6];
四、取得数组元素个数:
int b;
b = sizeof (a)/sizeof (*a);
相关文章推荐
- 每天一个数据结构——三种简单排序算法及Java实现
- C#使用泛型数组简单实现一个列表List
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 实现一个简单的c++ list容器(含sort排序 链表归并算法实现)
- 一个简单的实现找出数组中一个数字出现次数最多的数字的算法
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 一个简单的QQ隐藏图生成算法 通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- 怎样编写一个程序,把一个有序整数数组放到二叉树中? 编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
- 体验C#——关于数组合并的简单算法的实现
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 编写一个多线程函数实现对数组排序,要求: 1.至少用两个线程 2.数组的元素值可以事先定义好,或者可以从键盘输入(增加一个线程)。 3.用一个线程对数组排序,用另一个线程输出排序结果。 4.保证先排好序,再输出。
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 快速排序的C#实现以及,算法导论上之后一个习题的思考
- c#简单实现一个螺旋数组
- .定义两个数组,首先把两个数组合并成一个新数组,然后把新数组中的所有元素逆序排列,需要实现的效果如图-2所示。
- 一个简单的c#加密,签名,验签,解密算法.(1)
- C# 一步一步完成一个简单的计算器 第二步---实现单目运算
- 一个用C#实现的简单http server
- 利用冒泡法实现一个随机数组中的元素排序