基本排序算法(冒泡排序,选择排序,插入排序)
2013-04-24 14:51
357 查看
using System; using System.Diagnostics; namespace TestCArray { class Program { static void Main(string[] args) { CArray numbs = new CArray(10); Random rnd = new Random(10); for (int i = 0; i <= 9; i++) { numbs.Insert(rnd.Next(0,10)); } Console.WriteLine("Before sorting:"); numbs.DisplayElements(); Console.WriteLine("During sorting:"); //numbs.BubbleSort(); //numbs.SelectionSort(); numbs.InsertionSort(); Console.WriteLine("After sorting:"); numbs.DisplayElements(); } } public class CArray { private int[] arr; private int upper; private int numElements; public CArray(int size) { arr = new int[size]; upper = size - 1; numElements = 0; } public void Insert(int item) { arr[numElements] = item; numElements++; } public void DisplayElements() { Console.Write("---->"); for (int i = 0; i <= upper; i++) { Console.Write(arr[i] + " "); } Console.WriteLine(); } public void Clear() { for (int i = 0; i <= upper; i++) { arr[i] = 0; } numElements = 0; } // 冒泡排序 public void BubbleSort() { int temp; for (int outer = 0; outer <= upper; outer++) { for (int inner = 0; inner < upper-outer; inner++) { if (arr[inner+1]<arr[inner]) { temp = arr[inner + 1]; arr[inner + 1] = arr[inner]; arr[inner] = temp; } } this.DisplayElements(); } } // 选择排序 public void SelectionSort() { int temp; for (int outer = 0; outer < upper; outer++) { for (int inner = outer+1; inner <= upper; inner++) { if (arr[outer] > arr[inner]) { temp = arr[outer]; arr[outer] = arr[inner]; arr[inner] = temp; } } this.DisplayElements(); } } // 插入排序 public void InsertionSort() { int inner, temp; for (int outer = 1; outer <= upper; outer++) { temp = arr[outer]; inner = outer; while (inner > 0 && arr[inner-1] >= temp) { arr[inner] = arr[inner - 1]; inner -= 1; } arr[inner] = temp; this.DisplayElements(); } } } }
相关文章推荐
- 基本排序算法(冒泡排序,选择排序,插入排序)
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- 初级排序之冒泡排序,插入排序,选择排序比较
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 选择排序,插入排序,冒泡排序
- 冒泡排序、选择排序、插入排序、快速排序算法耗时测试
- 冒泡排序、选择排序、插入排序以及二分法查找算法
- java 实现 冒泡排序、选择排序、插入排序。
- php排序法--冒泡排序,选择排序,插入排序
- 冒泡排序、选择排序、插入排序 算法实现
- C++中的冒泡排序,选择排序,插入排序
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- 数据结构只选择排序、冒泡排序、插入排序
- java必须知道的八大种排序算法:冒泡排序、 选择排序、插入排序、快速排序、希尔算法、归并排序算法、基数排序、堆排序算法
- c语言中冒泡排序、插入排序、选择排序算法比较
- 冒泡排序,直接选择排序,插入排序实现
- 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
- 冒泡排序、插入排序、选择排序的原理及比较
- C语言单链表的3种排序算法,插入排序,冒泡排序,选择排序
- 三种数组排序算法(冒泡排序、选择排序、插入排序、二分查找法)