所謂鍊錶,就是相當於用鏈式結構儲存資料,這也是我在書上看的,把自己的理解記錄下來把,它是一種操作相對靈活的資料結構,雖然有時候陣列也能完成相應效果,但是不如它方便,下面我們就來介紹一下。
申請陣列在計算機中的儲存一般都是連續的,但是鍊錶一般都不連續,這就像需要用到指標來將它串聯起來,因此鍊錶分為兩個域,資料域和指標域,廢話不多說,舉乙個例子:請輸入乙個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 第一次提交 把暫存區檔案放入版...