尾插法建立单链表 数据结构
尾插法建立鏈表
一、鏈表是什么?
鏈表是一種常見(jiàn)的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),并且充分的利用到了結(jié)構(gòu)體指針。可以將鏈表看成一種功能強(qiáng)大的數(shù)組,可以在節(jié)點(diǎn)中定義多種數(shù)據(jù)類型,可以隨意添加、刪除和插入節(jié)點(diǎn)。鏈表都有一個(gè)頭指針,一般以head來(lái)表示,存放的是一個(gè)地址。鏈表中的節(jié)點(diǎn)分為兩類,頭結(jié)點(diǎn)和一般節(jié)點(diǎn),頭結(jié)點(diǎn)是沒(méi)有數(shù)據(jù)域的。鏈表中每個(gè)節(jié)點(diǎn)都分為兩部分,一個(gè)數(shù)據(jù)域,一個(gè)是指針域。
二、代碼
#include <bits/stdc++.h>
using namespace std;
//區(qū)分尾插還是頭插的方法就是看輸出。如果輸出是順序,則為尾插;是逆序則為頭插。指針式一直在變的,指針就是地址啊
typedef struct node
{
int data;
struct node *next;
}no;
int main()
{
int n;
no *p,*tail;
no *head=new no;//開(kāi)辟一個(gè)頭結(jié)點(diǎn)
head->next=NULL;//初始化定義頭結(jié)點(diǎn),因?yàn)轭}目要求了定義頭結(jié)點(diǎn)
tail=head;//這樣表就是空的了
cin>>n;
while(n!=0)
{
p=new no;//這是C++里生成新節(jié)點(diǎn)的函數(shù)new
p->next=NULL;//每有一個(gè)元素連上去,就給他"絕后",這樣他就是尾了
p->data=n;
tail->next=p;//將p指針指向的對(duì)象賦給tail的next對(duì)象,也就是尾指針的下一個(gè)對(duì)象。由于尾指針有了新的next對(duì)象,因此不再是末尾了。
//之后tail = p;就是將tail指向新的末尾元素。
tail=p;
cin>>n;
}
p=head->next;//又將指針指向頭結(jié)點(diǎn),為的是從頭開(kāi)始輸出
while(p!=NULL)//這個(gè)是輸出
{
cout<data<<" ";
p=p->next;
}
//cout << “Hello world!” << endl;
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的尾插法建立单链表 数据结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于ARM的COTEX-A9系列开发板的
- 下一篇: 有限域上的所有不可约多项式