線性表的基本操作實現 基於鍊錶

2021-07-08 18:15:44 字數 1307 閱讀 3701

用c++鍊錶方式實現了線性表的一些基本操作,包括插入元素,刪除元素,反轉線性表等.

#include

#include

#define error null

typedef int elementtype;

typedef struct lnode *ptrtolnode;

struct lnode ;

typedef ptrtolnode position;

typedef ptrtolnode list;

position find(list l, elementtype x);//返回線性表中首次出現x的位置。若找不到則返回error;

position findprevious(list l, position p);//給定位置p,返回指向位置p的前一位置.如果找不到,則返回error

list insert(list l, elementtype x, position p);

//將x插入在位置p指向的結點之前,返回鍊錶的表頭。如果引數p指向非法位置,返回error;

list delete(list l, position p);

//將位置p的元素刪除並返回鍊錶的表頭。若引數p指向非法位置,並返回error。

list reverse(list l);//反轉線性表

void print(list l);//列印線性表的內容

void destory(list l);//銷毀線性表

position find(list l, elementtype x)

else

}else

}if (find)

else

}position findprevious(list l, position p)

else

}else

}if (findprev)

else

}list insert(list l, elementtype x, position p)

else

else

}}list delete(list l, position p)

else

else

}}list reverse(list l)

}middle->next = front;

return middle;

}else

}void print(list l)

}void destory(list l)

free(l);

}

線性表的基本操作實現 基於鍊錶,有頭結點

用c 實現的基於鍊錶的線性表,有頭結點.實現的基本操作有建立空鍊錶,插入,刪除,查詢等操作.include include define error null typedef int elementtype typedef struct lnode ptrtolnode struct lnode t...

線性表之基於鍊錶的實現

歡迎關注,大家共同學習!鏈式儲存 用一組任意的儲存單元儲存線性表中的元素 特點 1 儲存單元可以是連續的,也可以是零散的 2 鍊錶中結點的物理順序和邏輯順序不一定相同。由於儲存單元不一定是連續的,為了正確的表示結點之間的邏輯關係,每個結點除了儲存資料資訊外,還需要儲存結點的直接後繼結點的位址,我們稱...

線性表之鍊錶基本操作的實現1

這裡,我們首先實現單鏈表的基本操作。1.建立單鏈表 linklist createlinklist linklist l 2.採用前插法插入資料 void insertelem for linklist head,user user 即把每次插入的資料都設定為首元結點 3.採用後插法插入資料 voi...