線性表的鏈式 鍊錶 表示與實現 單向鍊錶

2021-09-25 10:52:24 字數 2206 閱讀 3151

本例為純c語言實現,所用編譯器為c編譯器,非c++編譯器 

線性表的鏈式(鍊錶)表示與實現 

單向鍊錶

//	本例為純c語言實現,所用編譯器為c編譯器,非c++編譯器 

// 線性表的鏈式(鍊錶)表示與實現

// 單向鍊錶

#include#includetypedef struct lnodelnode,*linklist;

linklist createlinklistnode( linklist l, int n );

int getlinklistelem( linklist l, int i, int* e );

int insertlinklistnode( linklist l, int i, int e );

int deletelinklistnode( linklist l, int i, int* e);

linklist mergelinklist(linklist la, linklist lb, linklist lc);

int main()

printf("\n");

if(insertlinklistnode(la,2,22))

printf("\n");

} printf("\n");

if(deletelinklistnode(la,2,e))

printf("\n");

deletelinklistnode(la,5,e);

} printf("\n");

printf("請輸入鍊錶lb各元素的值: \n");

lb = createlinklistnode(lb,4);

if(lb)

printf("\n");

} lc = mergelinklist(la, lb, lc);

p = lc->next;

printf("la和lb合併後的鍊錶lc為: \n");

while(p)

printf("\n");

return 0;

}linklist createlinklistnode( linklist l, int n )

l->next = null;

// 輸入n個元素的值

q = l;

for( i=1; i<=n; i++ )

printf("請輸入第%d個元素的值: \n",i);

scanf("%d",&p->data); // 輸入元素的值

/* 逆序輸入建立鍊錶

p->next = l->next;

l->next = p;

*/// 順序輸入建立鍊錶

p->next = q->next;

q->next = p;

q = p;

} return l;

}int getlinklistelem( linklist l, int i, int* e )

if( !p || j>i )

*e = p->data; // 將第i個元素賦值給指標e所指向的位址

return 1;

}int insertlinklistnode( linklist l, int i, int e )

if( !p || j>i )

s = (linklist)malloc( sizeof(lnode) );

if( !s )

s->data = e;

s->next = p->next;

p->next = s;

return 1;

} int deletelinklistnode( linklist l, int i, int* e)

if( !(p->next) || j>i )

q = p->next;

*e = q->data;

p->next = p->next->next;

free(q);

return 1;

} linklist mergelinklist(linklist la, linklist lb, linklist lc)

else

} pc->next = pa?pa:pb;

free(lb);

return lc;

}

線性表的鏈式表示和實現(鏈式)

課程名 資料結構 實驗目的 1 掌握線性表的定義 2 掌握線性表的基本操作,如建立 查詢 插入和刪除等。實驗要求 定義乙個包含學生資訊 學號,姓名,成績 的順序表和煉表,使其具有如下功能 1 根據指定學生個數,逐個輸入學生資訊 2 逐個顯示學生表中所有學生的相關資訊 3 根據姓名進行查詢,返回此學生...

線性表的鏈式表示 鍊錶詳解

二 迴圈鍊錶 三 雙向鍊錶 四 總結 五 參考文獻 線性表的鏈式儲存結構即鍊錶,其特點是用一組任意的儲存單元儲存線性表的資料元素,這組在記憶體中的儲存單元可以是連續的,也可以是不連續的。鍊錶,顧名思義,是由各個節點鏈結。節點的資訊包含資料域和指標域。資料域儲存元素資訊,指標域用來儲存直接後繼節點的位...

線性表的鏈式表示

上篇文章是線性表的順序表示,本篇便是線性表的鏈式表示。主函式的步驟包括,輸入線性表資料,對鍊錶的刪除,插入。利用指標進行對鍊錶的訪問。同時為了增加程式可讀性,將結構體定義為lnode,linklist。include 線性表的鏈式表示 using namespace std typedef stru...