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] { 8, 4, 7, 5, 2, 3, 6, 1 };
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 }
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] { 8, 4, 7, 5, 2, 3, 6, 1 };
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 }
结果显示如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架