順序線性表單鏈表的操作

2021-06-23 09:23:08 字數 1336 閱讀 1311

// 單鏈表操作.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include

using namespace std;

#define ok 1

#define error 0

#define true 1

#define false 0

typedef int elemtype;

typedef struct node *linklist;

typedef int status;

/*線性表的單鏈表儲存結構*/

typedef struct node

node;

/*讀取操作*/

/*status 是函式的原型,表示返回值*/

/*初始條件:順序線性表l已經存在,1≤i≤listlength(l)*/

/*操作結果:用e返回l中第i個元素值*/

status getelem( linklist l ,int i, elemtype *e)

if ( !p || j > 1)

*e = p->data;

return ok;

}/*插入元素操作*/

/*status 是函式的原型,表示返回值*/

/*初始條件:順序線性表l已經存在,1≤i≤listlength(l)*/

/*操作結果:在l中第i個位置之前插入新的資料元素e,l的長度加1*/

status listinsert( linklist *l, int i, elemtype e)

if ( !p || j > i )

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

s->data = e;

s->next = p->next;

p->next = s;

return ok;

}/*刪除元素操作*/

/*status 是函式的原型,表示返回值*/

/*初始條件:順序線性表l已經存在,1≤i≤listlength(l)*/

/*操作結果:刪除l的第i個元素,並用e返回其值,l的長度減1*/

status listdelete( linklist *l, int i, elemtype *e)

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

q = p->next;//q為將要刪除的節點

p->next = q->next;

*e = q->data;

free(q);

return ok;

}int _tmain(int argc, _tchar* argv)

線性表 單鏈表的基本操作

1.線性表的鏈式儲存又稱為單鏈表,對於每個鍊錶結點,分為資料域data 存放元素的自身資訊 和指標域next 存放指向其後繼的指標 單鏈表結點型別的描述 typedef struct lnode lnode,linklist 2.採用頭插法建立單鏈表 從乙個空表開始,生成新結點,並將讀取到的資料存放...

線性表 單鏈表

define crt secure no deprecate define crt secure cpp overload standard names 1 includeusing namespace std typedef struct node node node headpointer 頭指...

線性表 單鏈表

單鏈表結構與順序儲存結構對比 一 儲存分配方式 1 順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素 2 單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素 二 時間效能 1 查詢 順序儲存結構o 1 單鏈表o n 2 插入和刪除 順序儲存結構o n 單鏈表找到位置後插入刪除時間o...