单链表排序(单链表)
来源:互联网 发布:淘宝衣服代购是真的吗 编辑:程序博客网 时间:2024/05/21 17:17
1、题目:
Problem Description
漳州师院一年一度的表白日开始咯,每个男生要拿着一束花给心仪的女生。Nana想知道自己受不受男生的欢迎。所以她想写一个程序把所有女生收到的花的数量放在一个单链表里面,再进行单链表排序,算出自己的排在第几名。
Input
有多组输入数据,每组占两行:第一行输入两个整数n,m,其中(0<n<=50),n代表有多少个女生,m代表Nana收到的花的数量。第二行输入n个整数,代表每个女生收到的花的数量。
Output
每组的输出数据包括两行:
第一行Nana的排名。
第二行输出所有女生收到的花的数量的排序结果。每两个数之间一个空格。
第一行Nana的排名。
第二行输出所有女生收到的花的数量的排序结果。每两个数之间一个空格。
Sample Input
5 31 4 5 3 3 6 41 1 4 7 0 9
Sample Output
21 3 3 4 540 1 1 4 7 9
2、参考代码:
#include <iostream>using namespace std;struct Node{int data;Node* next;};class LinkList{private:Node* head;public:LinkList(int* a,int n);~LinkList();int getLen();void Sort();void find(int x);void show();};LinkList::LinkList(int* a,int n){Node* r,* s;head=new Node;r=head;for(int i=0;i<n;i++){s=new Node;s->data=a[i];s->next=r->next;r->next=s;r=s;}r->next=NULL;}LinkList::~LinkList(){Node* p,* q;p=head;while(p){q=p;p=p->next;delete q;}}int LinkList::getLen(){int sum=0;Node* p;p=head->next;while(p){sum++;p=p->next;}return sum;}void LinkList::Sort(){int len=getLen();Node* p,* q;p=head->next;for(int i=0;i<len;i++){for(int j=i;j<len-1;j++){ ///注意这里一定要是从i到len-1if(j==i)q=p;q=q->next;if(p->data>q->data){int tmp=p->data;p->data=q->data;q->data=tmp;}}p=p->next;}}void LinkList::find(int x){int cnt=0;Node* p,* q;q=head;p=q->next;while(p){cnt++;if(p->data>=x){cout<<cnt<<endl;break;}q=q->next;p=p->next;}}void LinkList::show(){Node* p;p=head->next;if(p){cout<<p->data;p=p->next;while(p){cout<<" "<<p->data;p=p->next;}cout<<endl;}}int main(){int i,n,m,a[111];while(cin>>n>>m){for(i=0;i<n;i++)cin>>a[i];LinkList w(a,n);w.Sort();w.find(m);w.show();}return 0;}
0 0
- 单链表排序(快速排序、归并排序)
- 单链表排序之选择排序(赞)
- 单链表的排序(归并排序)
- 单链表排序(冒泡排序法)
- 单链表排序(归并排序法)
- 对单链表的排序(选择排序)
- 单链表排序(冒泡排序)
- 单链表排序(单链表)
- 单链表排序(单链表)
- 单链表排序
- 单链表排序
- 单链表排序
- 【单链表】排序
- 单链表排序
- 单链表排序
- 单链表排序
- 单链表排序
- 单链表排序
- IO流__【概述】【字符文件的读写和复制】【字符流缓冲区】
- 客户端DNS被流氓修改
- 第十七周 年龄几何
- SplishActivity的作用
- Oracle百问百答(七)
- 单链表排序(单链表)
- Thinkpad x230设置启动顺序
- 苹果低调收购BroadMap 改善地图服务
- NSdata 与 NSString,Byte数组,UIImage 的相互转换---ios开发 Objective-C
- 2013年终总结
- Twitter创始人加入迪斯尼董事会
- iOS学习笔记——滚动视图(scrollView)
- COM代理与存根
- 在asterisk11.5.0中 初始化大数组