冒泡
冒泡
1 private static void Bubble()
2 {
3 List<int> list = new List<int>() { 34, 27, 54, 33, 21, 53, 22 };
4 int temp = 0;
5 for (int outer = list.Count-1; outer >=0 ; outer--)
6 {
7 for (int inner = 0; inner <= outer-1; inner++)
8 {
9 if (list[inner] > list[inner + 1])
10 {
11 temp = list[inner+1];
12 list[inner + 1] = list[inner];
13 list[inner] = temp;
14 }
15 }
16 foreach (int m in list)
17 {
18 Console.WriteLine(m);
19 }
20 Console.WriteLine("****************");
21
22 }
23 foreach (int i in list)
24 {
25 Console.WriteLine(i);
26 }
27 }
2 {
3 List<int> list = new List<int>() { 34, 27, 54, 33, 21, 53, 22 };
4 int temp = 0;
5 for (int outer = list.Count-1; outer >=0 ; outer--)
6 {
7 for (int inner = 0; inner <= outer-1; inner++)
8 {
9 if (list[inner] > list[inner + 1])
10 {
11 temp = list[inner+1];
12 list[inner + 1] = list[inner];
13 list[inner] = temp;
14 }
15 }
16 foreach (int m in list)
17 {
18 Console.WriteLine(m);
19 }
20 Console.WriteLine("****************");
21
22 }
23 foreach (int i in list)
24 {
25 Console.WriteLine(i);
26 }
27 }
插入排序
插入
private static void Insert()
{
List<int> list = new List<int>() { 200, 32, 44, 1, 3, 24, 122 };
int temp = 0;
int innner = 0;
for (int outer = 1; outer < list.Count; outer++)
{
innner = outer;
temp = list[outer];
while (innner > 0 && list[innner - 1] >= temp)
{
list[innner] = list[innner - 1];
innner--;
}
list[innner] = temp;
foreach (int m in list)
{
Console.WriteLine(m);
}
Console.WriteLine("********************");
}
}
{
List<int> list = new List<int>() { 200, 32, 44, 1, 3, 24, 122 };
int temp = 0;
int innner = 0;
for (int outer = 1; outer < list.Count; outer++)
{
innner = outer;
temp = list[outer];
while (innner > 0 && list[innner - 1] >= temp)
{
list[innner] = list[innner - 1];
innner--;
}
list[innner] = temp;
foreach (int m in list)
{
Console.WriteLine(m);
}
Console.WriteLine("********************");
}
}
选择
选择
1 private static void Select()
2 {
3 List<int> list = new List<int>() { 5, 31, 4, 1, 72, 992, 11123, 443, 4556 };
4 int temp = 0; int min = 0;
5 for (int i = 0; i < list.Count; i++)
6 {
7 for (int j = i + 1; j < list.Count; j++)
8 {
9 if (list[i] > list[j])
10 {
11 min = j;
12 }
13
14 }
15 temp = list[i];
16 list[i] = list[min];
17 list[min] = temp;
18 foreach (int k in list)
19 {
20 Console.WriteLine(k);
21 }
22 Console.WriteLine("***************");
23 }
24
25 foreach (int i in list)
26 {
27 Console.WriteLine(i);
28 }
29 }
2 {
3 List<int> list = new List<int>() { 5, 31, 4, 1, 72, 992, 11123, 443, 4556 };
4 int temp = 0; int min = 0;
5 for (int i = 0; i < list.Count; i++)
6 {
7 for (int j = i + 1; j < list.Count; j++)
8 {
9 if (list[i] > list[j])
10 {
11 min = j;
12 }
13
14 }
15 temp = list[i];
16 list[i] = list[min];
17 list[min] = temp;
18 foreach (int k in list)
19 {
20 Console.WriteLine(k);
21 }
22 Console.WriteLine("***************");
23 }
24
25 foreach (int i in list)
26 {
27 Console.WriteLine(i);
28 }
29 }
快速
快速
1 class QuickSortMe
2 {
3 private int GetPoviteValue(List<int> list, int low, int upper)
4 {
5 int povitValue = list[low];
6 while (low < upper)
7 {
8 while (list[upper] >= povitValue && low < upper)
9 {
10 upper--;
11 }
12 list[low] = list[upper];
13
14 while (list[low] <= povitValue && low < upper)
15 {
16 low++;
17 }
18 list[upper] = list[low];
19 }
20 list[low] = povitValue;
21 return low;
22 }
23 public void Sort(List<int> list, int low, int upper)
24 {
25 if (low >= upper)
26 return;
27 int i = GetPoviteValue(list, low, upper);
28 Sort(list, low, i - 1);
29 Sort(list, i+1, upper);
30 }
31 }
2 {
3 private int GetPoviteValue(List<int> list, int low, int upper)
4 {
5 int povitValue = list[low];
6 while (low < upper)
7 {
8 while (list[upper] >= povitValue && low < upper)
9 {
10 upper--;
11 }
12 list[low] = list[upper];
13
14 while (list[low] <= povitValue && low < upper)
15 {
16 low++;
17 }
18 list[upper] = list[low];
19 }
20 list[low] = povitValue;
21 return low;
22 }
23 public void Sort(List<int> list, int low, int upper)
24 {
25 if (low >= upper)
26 return;
27 int i = GetPoviteValue(list, low, upper);
28 Sort(list, low, i - 1);
29 Sort(list, i+1, upper);
30 }
31 }


浙公网安备 33010602011771号