select-sort

原创 2007年09月26日 22:46:00

Introduction to Algorithms exerciese 2.2_2

Consider sorting n numbers stored in array A by first finding the smallest element of A and
exchanging it with the element in A[1]. Then find the second smallest element of A, and
exchange it with A[2]. Continue in this manner for the first n - 1 elements of A. Write
pseudocode for this algorithm, which is known as selection sort. What loop invariant does
this algorithm maintain? Why does it need to run for only the first n - 1 elements, rather than
for all n elements? Give the best-case and worst-case running times of selection sort in Θ-
notation.

#include <iostream>

#define Max 100

using std::cin;
using std::cout;
using std::endl;

int main()
{
    
int A[Max];
    
int num = 0;

    cout 
<< "input serveral intergers:" << endl;
    
    
for(int i=0; cin >> A[i]; ++i)
        
++num;
    
    
    
for(int j=0; j != num; ++j)  //    c1  num
    {                            //   num-1
        int min = A[j];          // c2 num-1
        for(int i=j+1; i != num; ++i)  // c3 num-j-1
            if(A[i] < min)             // c4 num-j-1
            {
                min 
= A[i];            //c5 num-j-1
                A[i] = A[j];           // c5 num-j-1
                A[j] = min;            // c5 num-j-1
            }

    }


    cout 
<< "the sorted sequence is:" << endl;
    
for(i=0; i != num; ++i)
        cout 
<< A[i] << " " ;
    cout 
<< endl;

    
return 0;
            

    

}

 worst case: n*(n-1)/2+n

 

相关文章推荐

select sort

  • 2012年12月26日 11:04
  • 21KB
  • 下载

选择排序(select sort)

**选择排序** 一,综述 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排...
  • ic_tv
  • ic_tv
  • 2015年07月01日 23:40
  • 239

简单选择排序(Simple Select Sort)

简单选择排序(Simple Select Sort)

MySQL Select and Sort Status Variables

Hack MySQL ‹ MySQL Select and Sort Status VariablesBlog    Contact    SitemapThis web site is no lon...

Hive中SELECT TOP N的方法(order by与sort by)

我想说的SELECT TOP N是取最大前N条或者最小前N条。 Hive提供了limit关键字,再配合order by可以很容易地实现SELECT TOP N。 但是在Hive中order ...

数据结构基础(1) --Swap & Bubble-Sort & Select-Sort

Swap的简单实现 [cpp] view plaincopy //C语言方式(by-pointer):  template typename Type>  bool swapB...

Bubble_Sort & Select_Sort

Please indicate the source if you want to reprint: http://blog.csdn.net/gaoxiangnumber1. Bubble Sor...

Insertion sort, select sort, Quick sort and Merge sort

冒泡排序 插入排序 选择排序 快速排序

习题选讲-Sort with Swap.pdf

  • 2015年07月01日 11:24
  • 117KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:select-sort
举报原因:
原因补充:

(最多只允许输入30个字)