在資料結構中怎樣進行單連結串列的輸入輸出

2021-05-05 17:13:09 字數 4822 閱讀 4098

1樓:聆聽海的聲音

//建立一個單連結串列

#include

#include

typedef struct lnode * pointer;

struct lnode

;typedef pointer lklist;

void create(lklist &l)r->next=null;

}void output(lklist l) //輸出單連結串列的元素}

2樓:管我壞不壞

#include

using namespace std;

#include

typedef struct lnodelnode;

r->next=null;

}void output(lnode *l)//輸出單連結串列中內容}int main()

;lnode *l;//定義一個頭指標

createlisth(l,a,10);

output(l);

createlistt(l,a,10);

output(l);

return 0;

}用了頭插 尾插進行簡單輸入輸出

3樓:du瓶邪

內容包括連結串列的建立,增加、刪除節點,連結串列的逆序、排序和銷燬等。

#include

#include

typedef struct node

node;

//連結串列的操作,以有頭節點為例,無頭節點類似node* head = null;

//建立連結串列,頭結點data=0,pnext=null;

bool createnodelist()else

}//增加節點

bool addnode(node* node)node* p = head->pnext;

node* q = head;

while(null != p)

q->pnext = node;

node->pnext = null;

return true;

}  //刪除節點

bool deletenode(int index)node* p = head->pnext;

int length = 0;

while(null != p)

if(length < index)

else

node* t = p->pnext;

q->pnext = t;

free(p);

return true;

}  }

//逆序

void reversenodelist()//如果連結串列長度為1

if(head->pnext == null)node* p = head->pnext;

node* q = p->pnext;

node* t = null;

while(null != q)

head->pnext->pnext = null;

head->pnext = p;

}  //排序(降序)

void sort()

if(phead->pnext == null)node* pi = phead->pnext;

node* pj = pi->pnext;

for(;pi != null;pi=pi->pnext)}

}  }

//銷燬

void destroynodelist()if(null == head->pnext)node* p = head->pnext;

while(null != p)

free(head);

head = null;

}  void main()

4樓:睿爾科技嵌入式

我有一個完整的**給你。如附件

具體**如下:

//------------------------------( 連結串列 )-------------------------------------

#include

#include

#define success     1

#define flase         0

typedef struct node

node,*linklist;

//初始化連結串列

//返回型別為指向結構體的指標

linklist init_linklist(linklist phead)

//返回連結串列長度

int get_length(linklist phead)

return ilength;

}//插入結點

//成功插入返回連結串列頭指標,不成功提示錯誤,返回頭指標

//phead:結點頭指標

//ilocate:位置

//idata:資料

linklist inset_linklist(linklist phead , int ilocate , int idata)

else if(ilocate<=(get_length(phead)+1))

else

}//根據資料刪除結點

//idata為要刪除的結點

linklist delete_data_linklist(linklist phead,int idata)

if(phead->idata==idata)

pflag1=pflag1->pnext;

while(pflag1->pnext!=null)

else

}printf("no such data\n");

return phead;

}//根據位置刪除結點

//ilocate為需要刪除的位置

linklist delete_locate_linklist(linklist phead,int ilocate)

else if(ilocate==1)

else if (ilocate <= get_length(phead))

pflag->pnext = pflag->pnext->pnext;

//        free(pflag->pnext);

printf("del success");

return phead;

}else

}//輸入資料函式

int input_idata(void)

//輸入位置函式

int input_ilocate(void)

}//列印所有結點

int printf_node(linklist phead)

return success;                    //成功返回success

}void run_linklist(void)

printf("\n\n");

getchar();}}

int main(void)

在資料結構中建立一個單連結串列,要求單連結串列的元素按升序排列,輸出單連結串列,然後插入元素x保持單連結串列的升... 30

5樓:匿名使用者

給你函式自己也得練習寫啊!

//連結串列指標實現

#include

#include//需要malloc.h

struct node

;struct node head;

void init()//初始化

struct node *ins(struct node *p,int i) //在p位置後插入i

void del(struct node *p) //刪除p位置(p!=head)

排序部分可以使用冒泡或者快排,選排

資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算

資料結構中,單連結串列p=l與p=l->next有什麼區別?p->next=s與p->next=s-> 10

6樓:熱情的

l在資料結構中一般是作為連結串列頭節點的指標,p=l,將p指標也指向頭節點。

l->next有兩層含義,可以表示l的後繼節點指標,又可表示l的指標域,(補充:連結串列每個節點分為資料域和指標域,(單連結串列的指標域只有後繼指標域,雙連結串列的指標域分為前趨指標域和後繼指標域))。第一,當它在等號右邊時(即x = l->next形式)一般是指將x指標指向頭節點l的後一個節點也就是連結串列的第一個資料節點;第二,當它在等號左邊的時候(即l->next = x),表示將x的值當做地址,寫入到l的後繼指標域l->next當中,相當於頭節點l的後面連結一個資料節點。

基礎概念理解後,對於p->next=s與p->next=s->next就好理解了,p->next=s:將指標變數s的值寫入p的後繼指標域,相當於p資料節點後又連結一個指標s指向資料節點,p->next=s->next:將s節點後接的節點的地址寫入到p節點的後繼指標域,相當於p節點插入到原先s節點與s的後接節點中間。

中間邏輯建議畫圖理一遍,理順了以後再見到就能很快看明白的。

7樓:匿名使用者

p和l都是資料結構物件嗎 p=l是把資料結構l的每個變數的值賦給p 另個是把l裡的next變數的值賦給p 第二種好像錯的吧。第二個第一種是把s的首地址賦給p的next變數 第二種是把s的next值賦給p的next

8樓:雨後小故事

l->next是l後的下一個資料

建立帶頭結點的單連結串列(2 3 7 9 12資料結構C

l是一個不帶頭結點的單連結串列的頭指標。一開始判斷該指標以及該指標指向的下一個結點是否為空,如果不為空,代表該連結串列存在,然後將指標l的指向給q,並且l指向l的下一個結點 l l next 再指向下一個結點之後,再將l的指向給p。急求 資料結構試驗用c 建立一個頭結點為head的單連結串列 要求遍...

在資料結構中,從邏輯上可以把資料結構分成

1 c2 a 3 a4 a 5 d6 a 8 b9 b 10 a caaad a bca 1 資料結構是一門研究非數值計算的程式設計問題中計算機的a以及它們之間的 b 和運算等的學科。e68a84e8a2ad62616964757a686964616f31333431376535 a.資料元素 b....

資料結構單連結串列頭插法和尾插法是什麼意思

頭插法是新增 節點總是插在頭部,以帶頭結點連結串列為例,連結串列頭指標是head,新增節點p 那麼專p next head next head next p 如果是不帶頭結點的連結串列屬那麼對應是 p next head head p 而尾插法是將新增節點插在連結串列尾部,for t head t ...