求一个序列中,第k个数

//求一个序列中,第k个数


1.排序,输出a[k-1]
冒泡
for(i=1;i<=n-1;i++)//控制循环次数
for(j=0;j<=n-i-1;j++)//不是n-i+1
if(a[i]>a[i+1]])
交换,每排一次最大的移到最后

定位选择排序
for(i=0;i<n-1;i++)//控制循环次数
for(j=i+1;j<n;j++)//
if(a[i]>a[j])
交换


2.先取出前k个排序,再取未排序的,若大于a[k-1],则忽略,否则插入适当位置并移去a[k-1];
最后输出a[k-1]即可

posted @ 2012-03-27 21:49  加拿大小哥哥  阅读(289)  评论(0编辑  收藏  举报