用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...