单链表

Posted kgmfgm35

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单链表相关的知识,希望对你有一定的参考价值。

前言

海德和泰尔是两兄弟,他们住在同一个家。

有一天,他们家路过了一位的侠士,泰尔从小就有一个梦:是要成为海贼王的男人。

于是,他与海德告别,跟随侠士的步伐,去到了一个又一个惊险刺激的地方。

侠士行走江湖,有他自己的一套赚钱方法:

先等待情报,再结合自己的经验权衡利弊,接着前往指定地点完成任务,然后放空自己,继续等待情报。

泰尔虽追随侠士,但他每到一处,就会被当地的风土人情深深的吸引,以致于很难跟上侠士。

不过,泰尔也有自己的方法,他知道,侠士每到一处,完成任务后就会去放松,所以,他可以记录下侠士的目的地,然后享受当下,接着再去追侠士的步伐。

对的,泰尔就是我们说的每次都慢半拍。

海德呢?

海德一直老实的呆在家,日出而作,日落而息。

有一天,又一位侠士路过了海德家,询问海德是否见过另一位侠士。

海德回答:我见过,我兄弟和他一起闯荡江湖去了,可是,我只知道他们最早是从这里出发,然后去了X镇,再然后我就不知道了。

侠士告诉他:在这个世界,有着同一血脉的家人,会共享着某些记忆。启发之下,海德知道了泰尔的路径,并且绘制了一张地图。

这位侠士跟着地图,来到了一个又一个泰尔曾经去过的地方,每当他确定这个地方存在时,他就会继续前往该地。

但,这地图记录的,只是泰尔当初的路径,现在的泰尔可能还在终点,以后呢?

正文

前言里的故事写成代码其实是下面这个亚子

 

#include<iostream>
using namespace std;
struct node{
    int data;
    node *next;
};
node *head,*tail,*p;
int x;
int main()
{
    cin>>x;
    head=new node;
    tail=head;
    while(x!=-1)
    {
        p=new node;
        p->data=x;
        p->next=NULL;
        tail->next=p;
        tail=p;
        cin>>x;
    }
    p=head->next;
    while(p->next!=NULL)
    {
        cout<<p->data<<" ";
        p=p->next;
    }
    cout<<p->data<<endl;
    return 0;
}

 

结语

单链表总是一往无前,但在成长的过程中,总会回到起点,下一期循环链表,敬请期待!

以上是关于单链表的主要内容,如果未能解决你的问题,请参考以下文章

数据结构代码(用C语言) 单链表的插入和删除

单链表

数据结构--单链表简单代码实现(总结)

单链表逆置

循环链表(循环单链表循环双链表)的相关操作的代码实现(C语言)

单链表反转java代码