C# 选择排序

代码

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 
 5 namespace BubbleSort
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             TestArray nums = new TestArray(10);
12             #region  初始化数组
13             Random rnd = new Random(100);
14             for (int num = 0; num < 10; num++)
15             {
16                 nums.Insert(rnd.Next(0,100));
17             }
18             #endregion
19             Console.WriteLine("Before Sorting: ");
20             nums.DisplayElements();
21             Console.WriteLine("Durring Sorting: ");
22             nums.SelectionSort();
23             Console.WriteLine("After Sorting: ");
24             nums.DisplayElements();
25             Console.ReadLine();
26         }
27     }
28 }
29 public class TestArray
30 {
31     private int[] arr;
32     private int upper;
33     private int numElements;
34     public TestArray(int size)
35     {
36         arr = new int[size];
37         upper = size - 1;
38         numElements = 0;
39     }
40     public void Insert(int item)
41     {
42         arr[numElements] = item;
43         numElements++;
44     }
45     public void DisplayElements()
46     {
47         for (int num = 0; num <= upper; num++)
48         {
49             Console.Write(arr[num]+" ");
50         }
51         Console.WriteLine();
52     }
53     public void Clear()
54     {
55         for (int num = 0; num <= upper; num++)
56         {
57             arr[num] = 0;
58         }
59         numElements = 0;
60     }
61     //选择排序算法
62     public void SelectionSort()
63     {
64         int min,temp;
65         for (int outer = 0; outer <= upper; outer++)
66         {
67             min = outer;
68             for (int inner = outer + 1; inner <= upper; inner++)
69             {
70                 if (arr[inner] < arr[min])
71                 {
72                     min = inner;
73                 }
74             }
75             temp = arr[outer];
76             arr[outer]=arr[min];
77             arr[min] = temp;
78             this.DisplayElements();
79         }
80 
81     }
82 } 

转载于:https://www.cnblogs.com/gooliugle/archive/2010/04/20/1716569.html

数据结构与算法读书笔记2----C# 选择排序相关推荐

  1. 数据结构与算法学习笔记之 提高读取性能的链表(上)

    数据结构与算法学习笔记之 提高读取性能的链表(上) 前言 链表(Linked list)比数组稍微复杂一点,在我们生活中用到最常见的应该是缓存,它是一种提高数据读取性能的技术,常见的如cpu缓存,浏览 ...

  2. 数据结构与算法-java笔记一 更新中

    数据结构与算法-java笔记一 更新中 数据结构与算法 什么是数据结构.算法 数据结构学了有什么用: 线性结构 数组 特点 应用 链表 存储结构 链表类型 单链表 双向链表 双向循环链表 链表与数组的 ...

  3. 数据结构与算法学习笔记之 从0编号的数组

    数据结构与算法学习笔记之 从0编号的数组 前言 数组看似简单,但掌握精髓的却没有多少:他既是编程语言中的数据类型,又是最基础的数据结构: 一个小问题: 为什么数据要从0开始编号,而不是 从1开始呢? ...

  4. 数据结构与算法学习笔记——链栈

    数据结构与算法学习笔记(C语言) 链栈 在开始链栈的学习之前,我们先实现一下上一篇文章中提到的检查括号匹配的小程序,鉴于水平有限,本人就随便写一下代码好了,目标仅限于对功能的实现. /*用顺序栈这种数 ...

  5. 数据结构与算法学习笔记4:递归+分治法

    数据结构与算法学习笔记4 递归 斐波那契数列 青蛙跳台阶问题 链表倒序打印 分治法 二分查找/折半查找 Binary Search 题目1:快速幂 题目2:如何判断一个数是否为2的次幂 递归 指在函数 ...

  6. 数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配

    数据结构与算法学习笔记15:最大流问题 / 二分图 / 有权无权二分图的匹配 / 匈牙利算法 / 银行家算法 / 稳定婚配 引入小题:最短路径 最大流问题(maximum flow problem) ...

  7. 数据结构与算法 学习笔记(5):字符串

    数据结构与算法 学习笔记(5)- 字符串 本次笔记记录了LeetCode中关于字符串的一些问题,并给出了相应的思路说明和代码.题目编号与LeetCode对应,方便查找. 题目1:LeetCode 13 ...

  8. 数据结构与算法学习笔记——图 C++实现

    数据结构与算法学习笔记--图 C++实现 1 概念 2 图的表示方法 3 算法 3.1 拓扑排序 3.2 图的搜索算法 3.2.1 广度优先搜索(BFS) 3.2.2 深度优先搜索(DFS) 3.3 ...

  9. 数据结构与算法学习笔记之先进先出的队列

    前言 队列是一种非常实用的数据结构,类似于生活中发排队,可应用于生活,开发中各个方面,比如共享打印机(先请求先打印),消息队列.你想知道他们是怎么工作的么.那就来一起学习一下队列吧 正文 一.队列的定 ...

最新文章

  1. 后台的代理nginx部署方法
  2. 为何我的BLOG不能DIY?
  3. 入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型
  4. SQL语句添加删除修改字段
  5. python申明文件编码_Python源代码文件的文本编码
  6. 【C】——常用C时间库函数
  7. seaborn 常用画图
  8. 小论文期刊投稿相关整理资料
  9. 14-容器网络之host和none
  10. 德国80%的统计学教授都会答错的6个与P值有关的问题!
  11. ThinkCMF是一款支持Swoole的开源内容管理框架,基于ThinkPHP开发,同时支持PHP-FPM和Swoole双模式,让WEB开发更快!
  12. TortoiseSVN版本管理的注意点
  13. 2个div并排自适应宽度
  14. 高频量化交易之王--李庆在华尔街
  15. Pycharm通过ssh远程连接服务器
  16. 天线的主要技术指标及其含义—天线的输入阻抗
  17. 十大免费cms建站系统介绍推荐
  18. Android网络请求三篇
  19. Android获取设备的IP地址的两种方法
  20. optimizer.zero_grad()

热门文章

  1. 股票和基金,哪个适合打工族?
  2. [leetcode] Median of Two Sorted Arrays 寻找两个有序数组的中位数
  3. android各版本市场占有率报告,你用的是哪个版本 Android系统报告:果冻豆市占率升至62%...
  4. azure备份存储层分类_备份到Azure –为什么要这样做?
  5. 8.Java web—JSP基本语法
  6. Stanford NLP 第六课: Long Short Term Memory
  7. 【第一组】beta发行说明
  8. node.js中实现同步操作的3种实现方法
  9. 【React Native 实战】微信登录
  10. Windows下FFmpeg各版本库文件下载