数据结构实验之链表六:有序链表的建立

来源:互联网 发布:狗头表情软件 编辑:程序博客网 时间:2024/05/17 01:12

数据结构实验之链表六:有序链表的建立

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。

Input

第一行输入整数个数N;
第二行输入N个无序的整数。

Output

依次输出有序链表的结点值。

Example Input

633 6 22 9 44 5

Example Output

5 6 9 22 33 44

Hint

不得使用数组!

Author

#include<iostream>#include<algorithm>using namespace std;typedef struct Linklist{    int data;    Linklist *next;}Linklist;Linklist *order_creat(Linklist *head, int n){    Linklist *p, *tail;    head=new Linklist;    head->next=NULL;    tail=head;    for(int i=0;i<n;++i)    {        p=new Linklist;        p->next=NULL;        cin>>p->data;        tail->next=p;        tail=p;    }    return head;}void display(Linklist *head){    Linklist *p;    p=head->next;    while(p->next)    {        cout<<p->data<<" ";        p=p->next;    }    cout<<p->data<<endl;}Linklist *bubble_sort(Linklist *head){    Linklist *p, *q;    for(p=head->next;p->next;p=p->next)        for(q=p->next;q;q=q->next)        {            if(p->data>q->data)            {                int t=p->data;                p->data=q->data;                q->data=t;            }        }    return head;}int main(){    ios::sync_with_stdio(false);    Linklist *head1;    int n;    cin>>n;    head1=order_creat(head1, n);    head1=bubble_sort(head1);    display(head1);    return 0;}


0 0
原创粉丝点击