Synchronization of old projects
Part1
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
namespace Lesson
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Print(int[] arr)
|
||||
{
|
||||
for (int i = 0; i < arr.Length; i++)
|
||||
{
|
||||
Console.Write(arr[i] + " ");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 知识点一 排序的基本概念
|
||||
//排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录调整为“有序的”
|
||||
int[] arr = new int[] { 8, 7, 1, 5, 4, 2, 6, 3, 9};
|
||||
#endregion
|
||||
Print(arr);
|
||||
|
||||
|
||||
|
||||
#region 知识点二 基本原理
|
||||
//两两相比
|
||||
//不停比较
|
||||
//不停交换
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
bool isSort;//声明一个标识来保存是否进行交换的状态
|
||||
#region 知识点三 代码实现
|
||||
int temp;
|
||||
for (int i = 0; i < arr.Length; i++)
|
||||
{
|
||||
isSort = false;
|
||||
for (int j = 0; j < arr.Length - 1 - i; j++)//-i可以直接省去后面已经确定位置那一轮的比较
|
||||
{
|
||||
if (arr[j] > arr[j + 1])
|
||||
{
|
||||
isSort = true;//被交换了被表示true
|
||||
temp = arr[j];
|
||||
arr[j] = arr[j + 1];
|
||||
arr[j + 1] = temp;
|
||||
}
|
||||
}
|
||||
if (!isSort) { break; }//如果是true就继续交换,如果没有交换就false跳过这一轮
|
||||
}
|
||||
#endregion
|
||||
|
||||
Print(arr);
|
||||
#region 知识点四 优化
|
||||
//1.确定位置的数(极值)可以不用继续比了
|
||||
//所以 没完成n轮 后面位置的数 就不用参与比较了
|
||||
|
||||
//2.特殊情况的优化
|
||||
//比如在某一轮已经得到最终序列后,还会继续判断几轮,可以省去这几轮的时间
|
||||
//
|
||||
#endregion
|
||||
|
||||
#region 知识点五
|
||||
#endregion
|
||||
|
||||
#region 知识点六
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user