选择排序
来源:互联网 发布:14款新帝豪安装软件 编辑:程序博客网 时间:2024/05/21 12:43
使用C#实现选择排序(selection_sort)
namespace selection_sort{ class Program { static void Main(string[] args) { string condition1, condition2; do { Console.WriteLine("$$$ 开始队列的选择排序 $$$"); Console.WriteLine("*************************************"); int arraySize; //正确输入后跳出while while (true) { Console.Write("输入数组的大小:"); if (int.TryParse(Console.ReadLine(), out arraySize)) break; //跳出循环 else MessageBox.Show("输入数据不正确!"); } int[] array = new int[arraySize]; for (int i = 0; i < arraySize; i++) { while (true) { Console.Write("输入数组的第{0}个元素:", i + 1); if (int.TryParse(Console.ReadLine(), out array[i])) break; //跳出循环 else MessageBox.Show("输入数据不正确!"); } } SelectSort(array); //调用选择排序函数 while (true) { Console.WriteLine("输入A(a)升序排列,输入B(b)降序排列!"); //选择输出方式,升序或者降序 condition1 = Console.ReadLine(); if (condition1 == "A" || condition1 == "a" || condition1 == "B" || condition1 == "b") break; else MessageBox.Show("输入A(a)或B(b)!"); } //按输出方式输出队列 if (condition1 == "A" || condition1 == "a") { Console.Write("升序队列:"); for (int i = 0; i < array.Length; i++) Console.Write(array[i] + " "); } if (condition1 == "B" || condition1 == "b") { Console.Write("降序队列:"); for (int i = array.Length - 1; i >= 0; i--) Console.Write(array[i] + " "); } Console.WriteLine(); while (true) { Console.WriteLine("输入Y(y)继续,输入N(n)结束!"); //选择是否继续 condition2 = Console.ReadLine(); if (condition2 == "Y" || condition2 == "y" || condition2 == "N" || condition2 == "n") break; else MessageBox.Show("输入Y(y)或N(n)!"); } Console.WriteLine(); } while (condition2=="Y" || condition2=="y"); } //选择排序函数 private static void SelectSort(int[] arr) { for (int i = 0; i < arr.Length - 1; i++) { int minVal = arr[i]; int minIndex = i; for (int j = i + 1; j < arr.Length; j++) { if (minVal > arr[j]) { minVal = arr[j]; //每次遍历找出最小值 minIndex = j; //交换下标 } } Swap(ref arr[i], ref arr[minIndex]); //将此趟遍历的最小值保存到这一趟比较的第一个位置 } } //交互两个整数的函数 private static void Swap(ref int a, ref int b) { int temp; temp = a; a = b; b = temp; } }}
代码地址:http://download.csdn.net/download/github_37588138/10165103
阅读全文
0 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- IDEA下安装JRebel详解
- UVa 10763 Foreign Exchange
- 写给未来的自己
- machine learning yearning 9 and 10
- HTTP协议六种请求方法:GET,HEAD,PUT,DELETE,POST
- 选择排序
- 哎呦喂!
- java 泛型 集合嵌套 Collections中的sort(list)方法
- 对这个java虚拟机内存的,年轻代,年老代,永久代i,搞不太清楚。年轻代、年老代存放在堆还是栈。新版虚拟机没有永久代是个啥情况
- docker加载volume并绑定端口
- 贝叶斯逻辑回归
- python开源库——h5py快速指南
- 创建KVM实例详细步骤
- spring mvc 5.0 mvc:view-controller标签详解 08