输入n个数,输出第k大个数

来源:互联网 发布:网络教育统考作弊 坐牢 编辑:程序博客网 时间:2024/05/16 15:11
#include<iostream>#include<malloc.h>using namespace std;struct data{double a;struct data *next;};int main(){int n, k, t;int i = 0;struct data *head, *p, *q;head = (struct data *)malloc(sizeof(struct data));head->next = NULL;p = head;cout << "输入n" << endl;cin >> n;cout << "输入" << n << "个数" << endl;while (n > 0)//会多创一块内存{cin >> p->a;q = (struct data *)malloc(sizeof(struct data));q->next = NULL;p->next = q;p = q;q = q->next;n--;}cout << "输入k" << endl;cin >> k;t = k;double x;for (p = head; p->next != NULL; p = p->next){for (q = p->next; q->next != NULL; q = q->next){if (p->a < q->a){x = p->a;p->a = q->a;q->a = x;}}k--;if (k == 0)break;}cout << "第" << t << "大的数: ";cout << p->a << endl;p = head;while (p != NULL){q = p->next;free(p);p = q;}head = NULL;return 0;}
阅读全文
1 0
原创粉丝点击