简单选择排序

代码
//简单选择
    public static void SimpleSelectSort(int[] data)
    {
        
int temp=0;
        
int t=0;
        
for(int i=0;i<data.Length-1;i++)
        {
            t
=i;
            
for(int j=i+1;j<data.Length;j++)
            {
                
if(data[t]>data[j])
                {
                    t
=j;
                }
            }
            
if(t!=i)
            {
                temp
=data[i];
                data[i]
=data[t];
                data[t]
=temp;
            }
        }
        
for(int i=0;i<data.Length;i++)
        {
            Console.WriteLine(data[i].ToString());
        }
    }

在简单选择排序中,第一次排序要进行n-1次比较,第二次排序要进行n-2次比较,第n-1排序要进行1次比较,所以总的比较次数为:
在各次排序时,记录的移动次数最好0次,最坏为3次,所以,总的移动次数最好为0次,最坏为3次。因此,简单选择排序算法的时间复杂度为O(n2)。
简单选择排序算法只需要一个辅助空间用于交换记录,所以,简单选择排序算法是一种稳定的排序方法。

posted @ 2010-04-29 14:35  科睿思博  阅读(354)  评论(0编辑  收藏  举报