之乎者也,阿弥陀佛

软件设计的原则就是,化繁为简,化难为易,把人的思维集中在简单的领域,然后通过有序的组合实现复杂的逻辑。

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

在学习新技术的同时,我们还应该时刻复习自己已学过的数据结构和经典算法。 

一、最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。时间复杂度 o(n^2);空间复杂度 o(1);比较次数 n(n+1)/2

代码:(vs2005中编译通过)

View Code
 1 public static int[] SortIntArray(int[] array)
 2         {            
 3             int temp=0;
 4             for (int i = 0; i < array.Length; i++)
 5             {
 6                 for (int j = i+1; j < array.Length; j++)
 7                 {
 8                     if (array[i] > array[j])
 9                     {
10                         temp = array[i];
11                         array[i] = array[j];
12                         array[j] = temp;
13                     }
14                 }
15             }
16             return array;            
17         }

 

posted on 2009-03-11 00:55  搏击的小船  阅读(360)  评论(0编辑  收藏  举报