C# 实现冒泡算法
2014-06-13 16:13
246 查看
1、非递归算法
2、使用递归
3、main函数:
/// <summary> /// 使用两次循环 /// </summary> /// <param name="arr"></param> static void Sort(int[] arr) { int temp; for (int i = 0; i < arr.Length; i++) { for (int j = 0; j < arr.Length - i - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
2、使用递归
/// <summary> /// 使用递归来实现冒泡 /// </summary> /// <param name="arr"></param> /// <param name="index">趟次</param> static void SortRecursion(int[] arr, int index) { if (arr.Length - 1 == index) { return; } int temp; for (int j = 0; j < arr.Length - index - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } SortRecursion(arr, ++index); }
3、main函数:
static void Main(string[] args) { int[] arr = { 8, 5, 47, 1, 23, 6, 9, 21 }; SortRecursion(arr, 0); for (int i = 0; i < arr.Length; i++) {//排序后打印数组中的元素 System.Console.WriteLine("Index: " + i + " value: " + arr[i]); } System.Console.ReadKey(); }
相关文章推荐
- 冒泡算法、二叉搜索树转双向链表、字符串第一个只出现一次字符C#实现
- C#冒泡算法实现
- 体验C#——冒泡算法的C#实现
- C# 实现冒泡算法--不一定效率,但很容易理解
- C#冒泡算法实现
- C#实现网段扫描
- 由SAT问题展开说(2)[演化计算c#实现上]
- 数据结构与算法(C#实现)系列---广义树(一)
- 数据结构与算法(C#实现)系列-----前言
- C#实现的18位身份证格式验证算法
- 数据结构与算法(C#实现)系列---广义树(二)
- 由SAT问题展开说(2)[演化计算c#实现下]
- 数据结构与算法(C#实现)系列---树(一)
- 数据结构与算法(C#实现)系列---树(三)
- 设计模式之C#实现(一)--AbstractFactory(补)
- 用C# Builder实现Web服务器
- 设计模式之C#实现(二)---Builder
- 设计模式之C#实现(四)---- ProtoType
- 用C# Builder实现文件下载
- 从C#的Singleton设计模式实现看.NET Framework特性对开发者的重要性