Flycoder

Flying with codes

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

冒泡

 

冒泡
 1     private static void Bubble()
 2         {
 3             List<int> list = new List<int>() { 34275433215322 };
 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>() { 20032441324122 };
            
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>() { 5314172992111234434556 };
 4             int temp = 0int 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     }

 

 

posted on 2009-12-08 17:33  flycoder  阅读(226)  评论(0)    收藏  举报