关于网友提出的“ 请高手解答:题目是2011年上半年软件设计师的下午第四题”问题疑问,本网通过在网上对“ 请高手解答:题目是2011年上半年软件设计师的下午第四题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请高手解答:题目是2011年上半年软件设计师的下午第四题
描述: 请高手解答:题目是2011年上半年软件设计师的下午第四题,题如下:

,小弟就是最后一问不清楚,到底稳定吗,看一些网友的答案说不稳定,但不知道为啥不稳定,望高手解惑!
解决方案1: 是不稳定的.
看最后一段:
for(i = 0; i < n; i++)
{
b[c[a[i]] - 1] = a[i];
c[a[i]] = c[a[i]] - 1;
}
这里对于值相同的元素, 在原序列前面位置的, 排序后放到后面了. 改变了相同元素的顺序, 所以排序是不稳定的.
改成稳定的方法之一是:
for(i = n - 1; i >= 0; i--)
{
b[c[a[i]] - 1] = a[i];
c[a[i]] = c[a[i]] - 1;
}
以上介绍了“ 请高手解答:题目是2011年上半年软件设计师的下午第四题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3785057.html