关闭

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

281人阅读 评论(0) 收藏 举报
分类:

题目描述

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

输入

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

输出

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

示例输入

6
33 6 22 9 44 5

示例输出

5 6 9 22 33 44

提示

不得使用数组!



#include <iostream>
#include<bits/stdc++.h>
using namespace std;
struct node
{
    int data;
    node *next;
};
node *create(int n)
{
    node *head,*tail,*p;
    head=new node;
    head->next=NULL;
    tail=head;
    for(int i=0;i<n;i++)
    {
        p=new node;
        scanf("%d",&p->data);
        p->next=NULL;
        tail->next=p;
        tail=p;
    }
    return head;
}
void print(node *head)
{
    node *p=head->next;
   while(p)
   {
       if(p->next==NULL)
        printf("%d\n",p->data);
       else
        printf("%d ",p->data);
       p=p->next;
   }
}
node *sort(node *head)//有序链表的建立。
{
    node *p,*q;
    int t;
    for(p=head->next;p;p=p->next)
        for(q=p->next;q;q=q->next)
           if(p->data>q->data)
    {
        t=p->data;
        p->data=q->data;
        q->data=t;
    }
    return head;
}
int main()
{
    int n;
    scanf("%d",&n);
    node *h,*q;
    h=create(n);
    q=sort(h);
    print(q);
    return 0;
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

SDUTOJ 2116 数据结构实验之链表一:顺序建立链表

最近数据结构和c++相结合的实训正在进行,鉴于一些同学还不是太懂链表,写一篇博客讲解一下,若是哪里有问题,请不吝支出,在此谢过,若是过路的大神看见了,求轻喷。。。。 说白了,链表就是个特殊的结构体数...
  • u013014691
  • u013014691
  • 2015-01-08 20:15
  • 1178

SDUTOJ 2119 数据结构实验之链表四:有序链表的归并

题目描述 分别输入两个有序的整数序列(分别包含M和N个数据),建立两个有序的单链表,将这两个有序单链表合并成为一个大的有序单链表,并依次输出合并后的单链表数据。 输入 第一行输入M与N的值; 第二行...
  • u013014691
  • u013014691
  • 2014-03-06 19:30
  • 1510

【数据结构实验】二叉树的建立以及遍历

二叉树:结点的度最大值是2,即每个结点的子树数目只可能为0、1、2。 如果结点有两棵子树,则这两棵子树有次序关系,分别称为左子树和右子树。左、右子树的根结点分别 称为其双亲结点的左儿子和右儿子。度...
  • u012551871
  • u012551871
  • 2014-11-01 23:02
  • 464

数据结构实验之图论六:村村通公路 sdut oj (3362)

prim算法
  • rain_snowing
  • rain_snowing
  • 2016-08-18 09:28
  • 920

《数据结构实验3》--图的遍历操作

图的遍历操作 一、     实验目的: 该程序主要完成对图的创建,并实现图的深度优先遍历和广度优先遍历             ...
  • u013050857
  • u013050857
  • 2014-09-21 20:36
  • 1055

数据结构实验之排序六:希尔排序

数据结构实验之排序六:希尔排序 Time Limit: 1000MS Memory limit: 65536K 题目描述 我们已经学习了各种排序方法,知道在不...
  • acher66
  • acher66
  • 2016-08-22 20:46
  • 1180

数据结构单链表的建立的使用

建立单链表的意义: 储存数据 一般就是用的数组,灵活性也是很好的,但是数组的大小必须在开始的时候预先定义好,在未知的情况下就很容易损耗空间; 单链表:
  • woshinannan741
  • woshinannan741
  • 2015-10-03 18:02
  • 2429

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

题目描述输入N个无序的整数,建立一个有序链表,链表中的结点按照数值非降序排列,输出该有序链表。输入第一行输入整数个数N; 第二行输入N个无序的整数。输出依次输出有序链表的结点值。示例输入6 33 ...
  • sunset_forever
  • sunset_forever
  • 2016-01-30 11:59
  • 162

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

#include #include struct node {     int data;     struct node *next; }; int main() {     struct node...
  • u013476670
  • u013476670
  • 2014-01-15 21:29
  • 672

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

数据结构实验之链表六:有序链表的建立 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description ...
  • CCCrunner
  • CCCrunner
  • 2016-09-18 13:38
  • 193
    个人资料
    • 访问:75827次
    • 积分:3128
    • 等级:
    • 排名:第12807名
    • 原创:233篇
    • 转载:82篇
    • 译文:0篇
    • 评论:16条
    最新评论