算法 - 选择排序(C#)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
// --------------------------------------------------------------------------------------------------------------------// <copyright file="Program.cs" company="Chimomo's Company">//// Respect the work.//// </copyright>// <summary>//// The selection sort.//// 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完为止。选择排序是不稳定的排序算法。//// </summary>// --------------------------------------------------------------------------------------------------------------------namespace CSharpLearning{ using System; /// <summary> /// The program. /// </summary> public static class Program { /// <summary> /// The main. /// </summary> public static void Main() { int[] a = { 1, 6, 4, 2, 8, 7, 9, 3, 10, 5 }; Console.WriteLine("Before Selection Sort:"); foreach (int i in a) { Console.Write(i + " "); } Console.WriteLine("\r\n\r\nIn Selection Sort:"); SelectionSort(a); Console.WriteLine("\r\nAfter Selection Sort:"); foreach (int i in a) { Console.Write(i + " "); } Console.WriteLine(string.Empty); } /// <summary> /// The selection sort. /// </summary> /// <param name="a"> /// The a. /// </param> private static void SelectionSort(int[] a) { for (int i = 0; i < a.Length - 1; i++) { int min = i; // 存储最小元素的index。 // 寻找最小元素的index。 for (int j = i + 1; j < a.Length; j++) { if (a[j] < a[min]) { min = j; } } int tmp = a[min]; a[min] = a[i]; a[i] = tmp; Console.Write("Round {0}: ", i + 1); // 打印数组。 foreach (int k in a) { Console.Write(k + " "); } Console.WriteLine(string.Empty); } } }}// Output:/*Before Selection Sort:1 6 4 2 8 7 9 3 10 5In Selection Sort:Round 1: 1 6 4 2 8 7 9 3 10 5Round 2: 1 2 4 6 8 7 9 3 10 5Round 3: 1 2 3 6 8 7 9 4 10 5Round 4: 1 2 3 4 8 7 9 6 10 5Round 5: 1 2 3 4 5 7 9 6 10 8Round 6: 1 2 3 4 5 6 9 7 10 8Round 7: 1 2 3 4 5 6 7 9 10 8Round 8: 1 2 3 4 5 6 7 8 10 9Round 9: 1 2 3 4 5 6 7 8 9 10After Selection Sort:1 2 3 4 5 6 7 8 9 10*/
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
算法 - 选择排序(C#)相关推荐
- C语言基础排序算法-选择排序
C语言基础排序算法-选择排序 什么是选择排序? 选择排序(Selection sort)是一种简单直观的排序算法,第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从 ...
- C语言排序算法 选择排序 插入排序 快速排序 qsort实现快排 堆排序
常见排序算法 选择排序 选择排序(Selection sort)是一种简单直观的排序算法. 它的工作原理如下. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素 ...
- 数据结构与就算法(选择排序)
数据结构与就算法(选择排序) 数据!您好 2019-01-07 05:16:18 2736 收藏 17 版权 1>什么是选择排序,选择排序和插入排序的思想差不多,也分已排序区间和未排序区间,只是 ...
- Java排序算法——选择排序
Java排序算法--选择排序(Selection sort) 传送门 冒泡排序 插入排序 简述 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找 ...
- python排序算法-选择排序
python排序算法-选择排序 一.选择排序 1.一趟排序纪录最小的数,放在第一个位置 2.再一次排序记录列表无序区最小的数,放在第二个位置 关键 有序区.无序区.无序区最小数的位置 代码 def s ...
- 十大经典排序算法-选择排序算法详解
十大经典排序算法 十大经典排序算法-冒泡排序算法详解 十大经典排序算法-选择排序算法详解 十大经典排序算法-插入排序算法详解 十大经典排序算法-希尔排序算法详解 十大经典排序算法-快速排序算法详解 十 ...
- 排序算法-选择排序-堆排序
排序算法-选择排序-堆排序 堆排序是一种树型选择排序方法.在排序过程中,将 L [ 1... n ] L[1 ... n] L[1...n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点 ...
- 排序算法---选择排序(java版)
简单选择排序 原理 选择排序(Selection Sort)的原理有点类似插入排序,也分已排序区间和未排序区间.但是选择排序每次会从排序区间中找到最小的元素,将其放到已排序区间的末尾. 简单选择排序执 ...
- [排序算法] 选择排序(2种)
1.直接选择排序 [思想]选出剩下的未排序数据中的最小元素与第i个元素交换 [特点]不稳定 空间代价:O(1) 时间代价:O(n^2) 1 void SelectSort(int Array[], i ...
最新文章
- exa:一个 ls 命令的现代替代品
- 【OSX】OSX下采用MAMP的PHP替换系统自带PHP
- Lind.DDD.DynamicModules动态模块化的设计
- Django与CSRF 、AJAX
- sql 2008找不到服务器,sql server 2005 数据库迁移问题总结——错误 ‘80004005’ 在 sys.servers 中找不到服务器 ‘XXX’...
- 百度地图移动端开发和ArcGIS for Android 开发入门
- 【TypeScript系列教程05】保留关键字
- 【AVR ASF4库函数学习笔记】二、GPIO
- (计算机组成原理)第二章数据的表示和运算-第一节3:字符与字符串在计算机中的表示详解
- 信息学奥赛C++语言:打印字母表
- VS2012一打开就停止工作的解决方法
- 【数据结构(C语言)】数据结构-表
- 【渝粤教育】21秋期末考试土木工程施工10516k1
- java热门编程题_java经典50编程题(1-10)
- ascii码表的使用
- [渝粤教育] 中国地质大学 砌体结构设计 复习题 (2)
- python存钱挑战_52周拯救挑战赛(python),存钱,Python
- Docker执行命令提示设备没有相对空间,无法创建,overlay2文件夹磁盘占满
- html给页面加背景特效怎么加,给网页加上js特效
- Business Requirement
热门文章
- 透过水晶球一瞥下一代SOC
- C#程序设计笔记(第九章)
- S4:装饰模式 Decorator
- 用户与IoT同享一个WLAN时:弹性至关重要
- WEEX 报错 TypeError: Converting circular structor to JSON 的解决方法
- 提升 DevOps 效率,试试 ChatOps 吧!
- Postfix+Amavisd-new+Spamassassin+ClamAV整合安装
- 技术感悟--回顾2012
- js 显示当前时间(年月日时分秒)——getYear()与getFullYear()
- golang defer简介 goland 警告提示 possible resource leak,difer is called in a for loop 原因