学习C++和C语言心得 20

链表

1.含义

就如它的名字含义一样,它是一种将各种数据以物理的链状形式来连接起来,通过指针为纽带形成的一种链式表格型数据存储形式。换一种说法来讲,链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

2.例题

使用链表学生信息输入输出。

题目描述

输入若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束,用单向链表组织这些学生信息后,再按顺序输出。

输入描述:

输入多行,直到一行开始输入0结束,每行包括,学号(长度小于等于9),姓名(长度小于等于100),成绩,空格分隔。

输出描述:

按照输入顺序输出每位学生信息,一行一个学生信息,学号,姓名,成绩,空格分隔。

#include<iostream>

#include<string.h>

#include<algorithm>

using namespace std;

struct Node

{

int data;

string name;

int score;

Node*next;

};

int main()

{

int number;

Node *head,*p,*q,*s;

head=NULL;

cin>>number;

if(number!=0)

{

    p=new Node;

    p->next=NULL;

    p->data=number;

    cin>>p->name>>p->score;

    head=p;

    q=p;

}

while(cin>>number&&number!=0)

{

    s=new Node;

    s->next=NULL;

    s->data=number;

    cin>>s->name>>s->score;

    q->next=s;

    q=s;

}

q->next=head;

p=head;

    while(p!=NULL)

{

    cout<<p->data<<" "<< p->name<<" "<< p->score<<endl;

    p=p->next;

    if(p->data==1) break;

}

return 0;

}

总结:对于刚接触链表的我来说非常的难,但我已艰难的只用指针传递了变量,并把它们构成了一个链表,较为清晰的了解了其原理与机制,但对这种题仍需要认真思考。链表对于我来说还是太难了。😭

全部评论

相关推荐

收到了北京经纬恒润AE产品测试部门的offer,有了解的友友吗?工作内容怎么样?加班真的很严重吗?值得去吗?
La_place:有人说的人在那边,就是正常互联网作息吧,一天十个小时出头,双休这样。加班有,但是可能也不算严重?
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务