C#简单选择排序

       简单选择排序算法:

      设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(R,R[i+1],…,R[n]中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。

      代码如下:

复制代码
简单选择排序代码
 1 using System.Text;
 2 protected void Page_Load(object sender, EventArgs e)
 3     {
 4        SimpleSelectSort();
 5     }
 6 
 7     private void SimpleSelectSort()
 8     {
 9         int[] inputIntArray = new int[8] { 84752361 };
10         for (int i = 1; i < inputIntArray.Length;i++)
11         {//遍历7次 (N-1)
12             int t = i - 1;//设置数组下标
13             for (int j = i;j<inputIntArray.Length;j++)
14             {//从第i个开始进行循环  起始为数组第2个
15                 if(inputIntArray[t]>inputIntArray[j])
16                 {//获取最小值的INDEX
17                     t = j;
18                 }
19             }
20             //进行置换
21             int temp=inputIntArray[t];
22             inputIntArray[t]=inputIntArray[i-1];
23             inputIntArray[i - 1= temp;
24             //打印置换后的排序结果
25             PrintSortedResult(inputIntArray ,i);
26         }
27     }
28 
29  private void PrintSortedResult(int[] inputIntArray,int num)
30     {
31         StringBuilder sb = new StringBuilder();
32         for (int i = 0; i < inputIntArray.Length; i++)
33         {
34             if (i == 0)
35             {
36                 sb.Append(inputIntArray[i].ToString());
37             }
38             else
39             {
40                 sb.Append("," + inputIntArray[i].ToString());
41             }
42         }
43         Response.Write(""+num+"次排序的结果:  "+sb.ToString()+"<br/>");
44     }
复制代码

 

结果显示如下图:

posted @   jasen.kin  阅读(692)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示