鍊錶的基本內容和基本應用

2021-08-15 12:15:58 字數 2001 閱讀 5734

所謂鍊錶,就是相當於用鏈式結構儲存資料,這也是我在書上看的,把自己的理解記錄下來把,它是一種操作相對靈活的資料結構,雖然有時候陣列也能完成相應效果,但是不如它方便,下面我們就來介紹一下。

申請陣列在計算機中的儲存一般都是連續的,但是鍊錶一般都不連續,這就像需要用到指標來將它串聯起來,因此鍊錶分為兩個域,資料域和指標域,廢話不多說,舉乙個例子:請輸入乙個n並輸入n個數,完成查詢,刪除,等操作。

首先我們來看基本怎麼輸出輸入的資料

#include#includestruct node;//定義結構體(資料域和指標域)

int main()

//遍歷結點

t=head;

while(t!=null)

return 0;

}

這其實用陣列很容易實現的。

那麼我們來看怎麼查詢元素

#include#includestruct node;//定義結構體(資料域和指標域)

int search(node *head,int x)

p=p->next;

}return count;

}int main()

//遍歷結點

t=head;

t1=head;

while(t!=null)

int m;

printf("\n");

scanf("%d",&m);

printf("%d", search(t1,m));

return 0;

}

刪除元素

#include#includestruct node;//定義結構體(資料域和指標域)

/*int search(node *head,int x)

p=p->next;

}return count;

}*//*void insert(node*head,int pos,int x)

node*q=new node;

q->date=x;

q->next=p->next;

p->next=q;

}*/void del(node*head,int x)

else

}}int main()

//遍歷結點

t=head;t1=head;

int x;

scanf("%d",&x);

del(t1,x);

while(t!=null)

/* int m;

printf("\n");

scanf("%d",&m);

printf("%d", search(t1,m));*/

return 0;

}

插入元素
#include#includestruct node;//定義結構體(資料域和指標域)

/*int search(node *head,int x)

p=p->next;

}return count;

}*/void insert(node*head,int pos,int x)

node*q=new node;

q->date=x;

q->next=p->next;

p->next=q;

}/*void del(node*head,int x)

else

}}*/int main()

//遍歷結點

t=head;t1=head;

int pos,x;

scanf("%d%d",&pos,&x);

insert(t1,pos,x);

while(t!=null)

/* int m;

printf("\n");

scanf("%d",&m);

printf("%d", search(t1,m));*/

return 0;

}

資料結構鍊錶的基本內容1

簡單來說資料結構就是資料按照某種結構進行儲存。結構 線性 樹狀和圖狀等。其中線性表分為 鍊錶和順序表。鍊錶 記憶體不一定連續 有可分為單鏈表 雙向鍊錶和迴圈鍊錶 順序鍊錶 記憶體是連續的。1.新增元素 insert push back push front等。2.刪除元素 clear erase p...

棧的基本內容

一 棧的定義 棧是限定僅在表尾進行插入和刪除操作的線性表。通常把允許插入和刪除的一端稱為棧頂,另一端稱為棧底,不含任何資料元素的棧稱為空棧。棧又稱為後進先出的線性表,簡稱為lifo結構 last in first out 棧的插入操作,也叫做進棧,也稱為壓棧,入棧。棧的刪除操作,叫做出棧,也有的叫做...

git的基本內容

優勢 版本控制器,git是分布式儲存,svn 集中式 不支援分布式,每 個人電腦上都有乙個完整的版本庫且不需要聯網 git init 建乙個庫,將當前目錄作為工作目錄 2.git add readme.txt 告訴git,把檔案新增暫存區 3.git commit m 第一次提交 把暫存區檔案放入版...