热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

构建高效有序的单向链表结构

本文探讨了如何构建一个高效且有序(升序)的单向链表,并详细介绍了实现链表逆置的方法。通过结构化程序设计,无需定义类即可完成链表的构建与操作。输入数据时,以0作为结束标志,但0不会被添加到链表中。此外,文章还讨论了链表节点的插入、删除等基本操作,以确保链表的高效性和有序性。

描述

构造有序(升序)的单链表

并实现单链表的逆置

(可以采用结构化的程序设计方法实现,即不必定义类)

 

输入输入链表中的数据。(用0表示输入的结束,0不能添加到链表中)输出按顺序输出有序链表中的数据样例输入

4 1 6 8 2 0

样例输出

1 2 4 6 8
8 6 4 2 1
代码:方法略显无耻
#include
using namespace std;
int a[1000];
struct Node
{
    int data;
    Node *next;
};
int main()
{
    int x=0,j=0;
    while(scanf("%d",&x))
    {
        if(x==0) break;
        a[++j]=x;
    }
    sort(a+1,a+1+j);
    for(int i=1;i<=j;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    Node *head,*s,*p,*q;
    s=new Node;
    s->data=a[j];
    head=s;
    for(int i=1;i<=j-1;i++)
    {
       p=s;
       s=new Node;
       s->data=a[j-i];
       p->next=s;
    }
    s->next=NULL;
    p=head;
    while(p)
    {
        printf("%d ",p->data);
        p=p->next;
    }
    return 0;
}

 


推荐阅读
author-avatar
啦啦郭嘿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有