本例為純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...