#CS40404. 阅读程序4-排序算法4

阅读程序4-排序算法4

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第4节:排序算法

第4题【NOIP】2014

#include <iosteam>
#include <string>
using namespace std;
const int    SIZE    = 100;
int main(){
	string dict[SIZE];
	int    rank[SIZE];
	int    ind[SIZE];
	int    i, j, n, tmp;
	cin>>n;
	for ( i = 1; i <= n; i++ ){
12	    rank [i] = i;
		ind[i] = i;
		cin>>dict[i];
	}
	for ( i = 1; i < n; i++ )
		for ( j = 1; j <= n - i; j++ )
			if ( dict[ind[j]]>dict[ind[j + 1]]){
				tmp = ind[j];
				ind[j] = ind[j + 1];
				ind[j + 1] = tmp;
			}
	for ( i = 1; i <= n; i++ )
		rank[ind[i]] = i;
	for ( i = 1; i <= n; i++ )
		cout<<rank[i]<<" ";
	cout<<endl;
	return 0;
}

●判断题

(1)该程序的本质是按字典序对字符串排序。

{{ select(4-1) }}

  • 正确
  • 错误

(2)如果输人0,没有任何输出

{{ select(4-2) }}

  • 正确
  • 错误

(3)如果使用C++98编译,不会出现编译错误。

{{ select(4-3) }}

  • 正确
  • 错误

(4)如果去掉第12行,不影响。

{{ select(4-4) }}

  • 正确
  • 错误

●选择题

(5)输入

7
aaa
aba
bbb
aaa
aaa
ccc
aa

,输出( )。

{{ select(4-5) }}

  • 2 5 6 3 4 7 1
  • 1 2 3 4 5 6 7
  • 1 7 4 3 6 5 2
  • 7 6 5 4 3 2 1

(6)这个程序使用的是什么排序()。

{{ select(4-6) }}

  • 置泡排序
  • 插人排序
  • 希尔排序
  • 选择排序