算法排序问题

来源:互联网 发布:vnc viewer linux安装 编辑:程序博客网 时间:2024/04/30 02:51

排序中的操作:

1、比较(comparison)  2、交换(swap)   3、复制(copy)

 

几种经典排序方法:

1、简单排序( Simple Sort Algorithm)   2、插入排序(insertionsort algorithm)   3、选择排序(selection sortalgorithmanalysis)

 

 

1、简单排序:

     建立两个数组,一个安放无序数列,一个为空。

    步骤:

          1)将获取到的无序数字放进数组中。

          2)循环3-5的步骤直到无序数组中为空为止。

          3)比较无序数组

          4)选择最小的未排序的数字

          5)移动最小的数字到带排序的数组中

          6)停止

2、插入排序:

    建立一个为排序的数组。

    步骤:

          1)获取一个无序的序列进待排数组中。

          2)在第一个卡片后设置一个标志(marker)

          3)重复4-6的步骤,直到标志到达最后。

          4)选择第一个未排列的最小(或最大)数字。

          5)把这个最小的数字和他左边的数字比较,直到左边到达最适合的位置。

          6)将标志符向右移动一位。

          7)停止

3、选择排序:

     建立一个数组

     步骤:

          1)获取一个无序的序列进待排数组中

          2)选择一个标志符放在第一个数字的前面,

          3)重复4-7步骤直到最后还有一个数字在最后。

          4)比较所有的数字

          5)选择最小的数字

          6)将最小的数字和未排序序列中的第一个数字。

          7)将标志符向右移动一位。

          8)停止

 

 

 

 

一般化:

 

 

 

 

算法解决方案:

    

 

 

 

 

 

 

原创粉丝点击