c語言連結串列建立和輸入,C語言連結串列建立和輸入

2022-02-02 21:14:06 字數 2770 閱讀 1049

1樓:我瀟灑我安逸

#include "link.h"

//實現類似於strlen

struct string_linkinfo bl_stringlen(blstring *link)

;char *p;

block *pnode = null;

if(null == link)

//連結串列為空

if(null == link->head)

else//當while迴圈執行完後,pnode一定是最後乙個節點

p = pnode->buffer;

st_string.count_node++;

while('\0' != *p) }

return st_string;

}//實現類似於strcmp

int bl_stringcmp(blstring *link1, blstring *link2)

pnode1 = pnode1->next;

pnode2 = pnode2->next;

}return strcmp(pnode1->buffer, pnode2->buffer);

}//實現類似於strcpy

/*blstring *bl_stringcpy(blstring *link1, blstring *link2)

*///類似於strcat

blstring *bl_stringcat(blstring *link1, blstring *link2)

if(null == link1->head)

else//都不為空

if(strlen(pnode2->buffer) < n-tmp)

else

link1->tail->next = null;

}return link1;

}void bl_printstring(blstring *plink)

if(null == plink->head)

block *pnode = plink->head;

while(pnode != plink->tail)

printf("%s\n", pnode->buffer);

return;}

2樓:我愛上那女孩

敢問樓主,為何要兩個連結串列?你的需求乙個連結串列完全搞定了啊,第二個連結串列是用來做什麼的?

#include

#include

struct student;

int main(void)

for(struct student *p=head->next;p!=null;p=p->next)

}截圖如下:

c語言單向連結串列的建立,輸入,插入和刪除的實現

3樓:天高地遠山

樓上講的挺詳細的,給個郵箱 發你份ppt吧。

c語言如何建立單鏈表?

4樓:小甜甜愛亮亮

c語言建立單鏈表如下:

#include"stdio.h"

#include"stdlib.h"

#include"malloc.h"

#include "iostream.h"

typedef struct node

int  data;

node * next;

}node , * list;

void create(int n)

{int c;

list s,l;

l=(list)malloc(sizeof(node));

l->next=null;

printf("請輸入第1個資料:");

scanf("%d",&c);

l->data=c;

for(int i=2;i<=n;i++){s=(list)malloc(sizeof(node));

printf("請輸入第%d個資料:",i);

scanf("%d",&c);

s->data=c;

s->next=l;

l->next =s;

printf("連結串列建立成功!");

void main()

int n;

printf("請你輸入連結串列的個數:");

scanf("%d",&n);

create(n);

單鏈表建立方法:

單鏈表的建立有頭插法、尾插法兩種方法。

1. 頭插法

單鏈表是使用者不斷申請 儲存單元和改變鏈結關係而得到的一種特殊 資料結構,將連結串列的左邊稱為鏈頭,右邊稱為鏈尾。頭插法建單鏈表是將連結串列右端看成固定的,連結串列不斷向左延伸而得到的。頭插法最先得到的是尾結點。

由於連結串列的長度是隨機的,故用乙個while迴圈來控制連結串列中結點個數。假設每個結點的值都大於o,則迴圈條件為輸入的值大於o。申請 儲存空間可使用malloc()函式實現,需設立一申請單元 指標,但malloc()函式得到的指標並不是指向 結構體的指標,需使用 強制型別轉換,將其轉換成結構體型指標。

剛開始時,連結串列還沒建立,是一空連結串列,head 指標為null。

連結串列建立的過程是申請空間、得到資料、建立鏈結的迴圈處理過程。

2. 尾插法

若將連結串列的左端固定,連結串列不斷向右延伸,這種建立連結串列的方法稱為尾插法。尾插法建立連結串列時,頭 指標固定不動,故必須設立乙個搜尋指標,向連結串列右邊延伸,則整個演算法中應設立三個連結串列指標,即頭指標head、搜尋指標p2、申請單元指標pl。尾插法最先得到的是 頭結點。

c語言中建立動態連結串列

給你些資料吧 仔細看,看完就明白連結串列了 10.7 用指標處理連結串列 10.7.1鍊標概述 連結串列是一種常見的重要的資料結構.它是動態地進行儲存分配的一種結構.我們知道,用陣列存放資料時,必須事先定義固定的長度 即元素個數 比如,有的班級有100人,而有的班只有30人,如果要用同乙個陣列先後存...

c語言刪除連結串列問題,C語言刪除連結串列問題

del函式while改為 while p1 null if p1 data num p1 p1 next 這個就需要你判斷了,你首先需要將連結串列的資料全部遍歷一遍,在遍歷的同時就判斷該資料是否為你要刪除的資料,如果是,就刪除,繼續遍歷 一直到結束,這樣就可以吧1全部刪除了。滿意請採納!用這個程式到...

C語言連結串列

include include struct chain struct chain create return head struct chain inlink struct chain head,int a,int b int a代表要插入的節點,int b代表建立節點的資料域 if head v...