冒泡

输入n个整数,输出其中最小的k个

http://www.nowcoder.com/questionTerminal/69ef2267aafd4d52b250a272fd27052c

思路:冒泡排序,冒k次即可

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n,k;
    while(cin>>n>>k){
        vector<int> v(n);
        for(int i=0; i<n; i++){
            cin>>v[i];
        }
        int t=0;
        for(int i=0; i<n; i++){
            for(int j=0;j<n-1-i; j++){
                if(v[j]<v[j+1]){
                    int temp = v[j];
                    v[j] = v[j+1];
                    v[j+1] = temp;
                }
            }
            t++;
            if(t==k){
                cout<<v[n-i-1]<<endl;//当心越界
                break;
            }else{
                cout<<v[n-i-1]<<' ';
            }
        }
        v.clear();
    }
    return 0;
}
全部评论

相关推荐

2 1 评论
分享
牛客网
牛客企业服务