2021 全国硕士研究生入学统一考试

计算机学科专业基础2021 真题档案

47道题150满分
公告
目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。
42 / 47
返回整卷
BOK 数据结构
数据结构

2021-42

综合题8

已知某排序算法如下:

void cmpCountSort(int a[],int b[],int n)
{  int i,j,*count;
  count=(int *)malloc(sizeof(int)*n);  //C++语言:count=new int[n];
  for(i=0;i<n;i++)  count[i]=0;
  for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
      if(a[i]<a[j])  count[j]++;
      else  count[i]++;
  for(i=0;i<n;i++)  b[count[i]]= a[i];
  free(count);  //C++语言:delete count;
}

请回答下列问题。
1)若有 int a[] = {25,-10,25,10,11,19},b[6];,则调用 cmpCountSort(a,b,6) 后数组 b 中的内容是什么?

2)若 a 中含有 n 个元素,则算法执行过程中,元素之间的比较次数是多少?

3)该算法是稳定的吗?若是,则阐述理由;否则,修改为稳定排序算法。

42