c#数据结构--冒泡排序
来源:互联网 发布:淘宝网外衣女人 编辑:程序博客网 时间:2024/06/07 01:01
之前都是c++实现各种数据结构,现在需要强化数据结构的学习,使用c#来实现。
冒泡排序:
using System;class Test{ static void show(int[] array) { for (int i = 0; i < 10; i++) { Console.Write(" "+array[i]); } } static void Main() { int[] array = new int[10]; Random ran = new Random(); for (int i = 0; i < 10; i++) { array[i] = ran.Next(0, 100); } show(array); //开始排序 //说明: /* *排序的思想很简单就是有几个数就排序几趟, * 排序的规则就是两个数两个数的比较,如果 * 前面的数比后面的数大就交换位置,一直到 * 最后一个数的比较,这就算为一趟,一趟下来 * 最大的数据就排在了最后面,这样下一趟只需要 * 比较前面的9个数就可以了。 * * 实际上如果有10个数,只需要比较9趟,原因是当比较到 * 第9趟后,最后一个数不存在顺序问题 */ for (int i = 0; i < 9; i++) for (int j = 0; j < 9 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } Console.WriteLine(" "); show(array); }}
选择排序:
using System;class Test{ static void show(int[] array) { for (int i = 0; i < 10; i++) { Console.Write(" "+array[i]); } } static void Main() { int[] array = new int[10]; Random ran = new Random(); for (int i = 0; i < 10; i++) { array[i] = ran.Next(0, 100); } show(array); //开始排序 /*算法思想: * 从数组的第一个数开始,每次都从当前位置到整个数组中选择一个最小的数放在当前位置,以此下去 * 算法过程: * 保留当前位置的数,从后面所有的数中找一个最小的和这个比较,如果比这个小,就交换位置 * */ //------------------------------------- for (int i = 0; i < 10; i++) { int temp =i; for (int j = i+1; j < 10; j++) { if (array[j] < array[temp]) { temp = j; } } if (temp != i) { int tempvalue = array[i]; array[i] = array[temp]; array[temp] = tempvalue; } } //------------------------------------- Console.WriteLine(" "); show(array); }<strong><span style="font-size:24px;color:#993300;">}</span></strong>
插入排序:
using System;class Test{ static void show(int[] array) { for (int i = 0; i < 10; i++) { Console.Write(" "+array[i]); } } static void Main() { int[] array = new int[10]; Random ran = new Random(); for (int i = 0; i < 10; i++) { array[i] = ran.Next(0, 100); } show(array); //开始排序 /*插入排序思路: * 就是从第二个数开始依次和前面的数进行比较,如果被比较的数大,就往后移动被比较的数 * 覆盖当前的数,直到比这个数小为止,插入到较小的数后面即可 * * / */ for (int i = 1; i < 10; i++) { int temp = array[i]; int j = i; while (j > 0 && array[j - 1] > temp) { array[j] = array[j - 1]; j--; } array[j] = temp; } //------------------------------------- Console.WriteLine(" "); show(array); }}
0 0
- c#数据结构--冒泡排序
- C#版数据结构——冒泡排序
- [数据结构与算法]C#冒泡排序
- 数据结构:插入排序/冒泡排序/快速排序/归并排序/堆排序 C#语言实现
- 冒泡排序 C数据结构
- 数据结构之冒泡排序
- 数据结构之冒泡排序
- 【数据结构】冒泡排序
- 数据结构-冒泡排序算法
- 数据结构_冒泡排序
- C++数据结构--冒泡排序
- 数据结构 - 冒泡排序
- 数据结构--冒泡、快速排序
- 数据结构之冒泡排序
- [数据结构]冒泡排序
- 数据结构-冒泡排序
- 数据结构冒泡排序
- 数据结构冒泡排序
- Zookeeper-Zookeeper启动过程
- 伸展树:双层伸展
- keyframes
- 倒计时
- 小崽子
- c#数据结构--冒泡排序
- Java 9
- sprling中包的扫描过滤规则
- 分析Dalvik字节码进行减包优化
- scala sealed关键字
- URAL 1297 Palindrome
- c++学习笔记,错误合集d
- Java 10
- java.util.logging.Logger