• 欢迎访问废江's博客 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧

Selection Sort

AOJ 站点默认 8个月前 (03-28) 254次浏览 已收录 0个评论
文章目录[隐藏]

Question

Write a program of the Selection Sort algorithm which sorts a sequence A in ascending order. The algorithm should be based on the following pseudocode:

Note that, indices for array elements are based on 0-origin.

Your program should also print the number of swap operations defined in line 6 of the pseudocode in the case where i ≠ mini.

Input
The first line of the input includes an integer N, the number of elements in the sequence.

In the second line, N elements of the sequence are given separated by space characters.

Output
The output consists of 2 lines.

In the first line, please print the sorted sequence. Two contiguous elements of the sequence should be separated by a space character.

In the second line, please print the number of swap operations.

Constraints
1 ≤ N ≤ 100

Sample Input 1
6
5 6 4 2 1 3
Sample Output 1
1 2 3 4 5 6
4

Sample Input 2
6
5 2 4 6 1 3
Sample Output 2
1 2 3 4 5 6
3

Meaning

实现选择排序的过程,并且输出选择排序过程中的排序次数

Solution

简单选择排序,每次在第二层无序区中找出一个最小的数,放到第一层的下标i处。但是小标i也有可能是最小的数,所以也要来进行比较。

Coding

Summary

插入排序能够较快的处理相对有序的数据,冒泡排序中的交换次数可以体现数列的错乱程度,

个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Selection Sort
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到