1樓:網友
修改好了。錯誤是在printlist函式里。具體對照我給你的**註釋看吧。
祝你學習順利。
#include
#include
#define ture 1
#define ok 1
typedef int status;
typedef struct lnode{int data;
struct lnode *next;
lnode,*linklist;
逆位序輸入n個元素的值,建立帶做困派表頭結點的單鏈線性表lint i;
linklist p;
l=(linklist)malloc(sizeof(lnode));
l->next=null;
for(i=n;i>0;--i){
p=(linklist)malloc(sizeof(lnode));
scanf("%d",&p->data);
p->next=l->next;
l->next=p;
建立鏈式表。
void printlist(linklist l)linklist p;
printf("線性連結串列元素為:");
p=l->next;
while(p)
printf("%d",p->data);/modified by fefen0 你這裡不應該取位址了,去掉就尺隱好了。
p=p->next;
int main()
int n;
linklist p,l;
printf("請輸入連結串列長度:");
scanf("%d"純賀,&n);
printf("請輸入連結串列的元素:");
createlist(l,n);
printlist(l);
2樓:網友
=( 1)maxqsize / 短語不明白啊。
短語,以防止乙個連結串列溢位!
例如:列表的長度為10:00,而前指出,前10個元素,會產生前1溢位,在這個時候,我們應該取餘數灶粗滑的列表前後長度+1,所以1前面指向該鏈結的表的第一位置,以便隱臘它實現了一凳返個迴圈,以防止溢位。
資料結構單連結串列
3樓:enjoy冰心玉壺
單連結串列是乙個動態儲存結構,建立單連結串列需要動態分配儲存空間,依次建立各節點。我想你說的初始化單連結串列應該是對各個節點的資料域賦初值吧。可以用自定義函式createlist_l()完成。
在主函式main()中可以先呼叫createlist_l()建立兩個單連結串列,如la和lb,然後進行合併操作,比如可以呼叫函式mergelist_l()。
我在下面複製一下createlist_l()函式的實現吧,在主函式中可以呼叫這個函式。該函式迴圈建立結點,並插入到表頭,也就是逆序的。
逆位序輸入n個元素的值,建立帶表頭結點的單鏈線性表l}
4樓:秒懂百科
連結串列:一種計算機資料結構。
【懸賞】c語言,資料結構,迴圈連結串列問題!
5樓:網友
1、指標指向乙個結點是指利用此指標可以直接訪問這個結點,包括這個結點的data和next所以指標指向最後乙個結點,代表這個指標是最後乙個結點的位址。
2、迴圈連結串列是最後乙個結點的next域指向頭結點,上面的方法是尾插法建連結串列,新建的結點插在表尾,即為最後乙個結點,所以每建乙個,其next域就應修改為head
3、//la和lb是兩個僅設尾指標的迴圈連結串列//將lb合併到la的表尾,由la指示新表void mergelist(linklist * la,linklist lb)
6樓:網友
1 你想的第二個。
2 你最後乙個節點原來有標記的吧 。 自己定義乙個p=head 然後再最後乙個節點的時候->next=p
就可以了的。
3 如果你要連線成迴圈連結串列的話 。 那麼 ha的最後乙個節點的指標指向hb , 然後hb最後乙個節點 的的指標 指向ha
4 free(hb)
【基本知識】資料結構中的連結串列和佇列
7樓:新科技
1.什麼是連結串列?
連結串列是鏈式儲存的線性表。
2.什麼是線性表?
資料結構中的一種最基本最簡單的儲存結構。資料元素一對一。除了第乙個和最後乙個元素,其他元素都是首尾相接的。所以線性表有一種儲存的方式是連結串列形式。
3.那線性表除了連結串列外,還有幾種儲存方式?
順序儲存方式。
4.連結串列有哪幾種?
單向、雙向和迴圈。
5.單向連結串列是什麼?
元素包含值域、指標域,也被稱為節點,每個節點的指標域內有乙個指標,指向下乙個節點,最後乙個節點指向空值。遍歷的順序:從表頭向後遍歷。
6.雙向連結串列是什麼?
指標域有兩個指標,節點指向直接後繼和直接前驅。遍歷順序:從前項遍歷和後項遍歷都可以。
7.迴圈連結串列是什麼?
最後乙個節點指向第乙個節點。
8.佇列是什麼?
只允許在一段進行插入,在另一端進行刪除的運算受限線性表。先進先出。應用於程序排程佇列、列印佇列。
9.棧是什麼?
限定僅在棧頂進行插入或刪除操作的線性表。後進先出。應用於程式遞迴,函式呼叫。
10.關聯陣列是什麼?
關聯陣列是陣列的一對,陣列是連續等大的儲存單元構成,每個單元的儲存資料型別一樣,關聯陣列的特性是key-value,用key查詢value,管理陣列的前後是無序的,離散的,不是線性連續的。陣列是線性表。
關於C語言資料結構雙向連結串列插入節點的一點問題
it孤鶩 很簡單的雙向連結串列的插入問題 s prior p prior 就是s的前驅指標指向p的前面節點,節點地址就是p prior 現在p的前面節點的後驅指標就是 p prior next 指向 s 就行 現在 s的前驅指標操作完成,然後就是操作s的後驅指標了s的後驅指標就是s next 指向 ...
關於連結串列的問題,一個關於連結串列的問題
以下是我寫的關於連結串列的一個類模版,實現了插入結點,刪除結點,將連結串列倒轉等功能,直接包含在主函式的檔案裡就可以用了 link.h ifndef link h define link h include template class link template class node templa...
請教兩個C語言資料結構與演算法的問題,請看圖,謝謝了
include include int c 0 int arr int store 15 int hash int a,int len,int key int count sort int a,int len base 0,1,2,10 int i target malloc len sizeof ...