#include #include #include using namespace std ;
typedef int elemtype ;
// 單鏈表的節點型別
typedef struct lnodelinknode ;
// 頭插法建立單鏈表
void createlistf(linknode *&l ,elemtype a ,int n)
}// 尾插法建立單鏈表
void createlistr(linknode *&l ,elemtype a ,int n )
r->next = null ;
return ;
}// 按照序號查詢節點的值
lnode *getelem(linknode *l,int i ,elemtype &e)
if(p == null) else
}// 按照值查詢節點
lnode *locateelem(linknode *l , elemtype e)
p = p->next ;
}if(flag) return p ;
else return null; // 沒有找到這樣的節點
}// 插入操作
bool listinsert(linknode *&l , int i ,elemtype e)
if(p == null) return false ; // 未找到位序為i-1的位序
else
}// 刪除某一節點
bool listdelete(linknode *&l , int i , elemtype &e)
if(p == null ) return false ;
else
}bool listempty(linknode *l)
int listlength(linknode *l)
return(i);
}void destrorylist(linknode *&l)
free(pre) ;
}void printlink(linknode *l)
return ;
}int main()
createlistr(l,a,10) ;
printlink(l) ;
lnode * node = getelem(l,5,e) ;
cout<<"e : "listinsert(l,1,99) ;
printlink(l);
return 0 ;
}
資料結構 線性表鏈式儲存
對於線性鍊錶,有兩種表示方法,一種是包含頭節點的情況,如下圖 一種是不包含頭節點的情況,如下圖 本文中對線性鍊錶的表示,利用的是帶頭節點的定義方式。使用c 實現了線性鍊錶建立,初始化,刪除,插入,清空,遍歷,有序鍊錶合併等操作。煉表頭 頭指標 頭結點 煉表頭 指的是線性表第乙個元素所在結點 頭指標 ...
資料結構 線性表(鏈式儲存)
1 順序表 需要一片連續的記憶體空間,成員可以隨機訪問,訪問效率高 插入刪除資料存在資料搬移的現象,效率低 儲存密度高 鍊錶的特點 不需要連續的記憶體空間,不能隨機訪問元素,訪問效率低 插入刪除資料不存在資料搬移的現象,效率高 儲存密度比較低 2 無頭鍊錶 第乙個節點為資料節點,加入刪除第乙個節點,...
資料結構 線性表(鏈式 單)
線性表是最常用且最簡單得一種資料結構。簡言之,乙個線性表是n個資料元素得有限序列。typedef int elemtype typedef struct lnodelnode,linklist ifndef linklist h define linklist h include include t...