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