鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。
#ifndef __linklist_h__
#define __linklist_h__
#include #include #include #include #include typedef int datatype;
typedef struct node node;
typedef struct node* pnode;
typedef struct node list;
typedef struct node* plist;
struct node
;void initlinklist(plist* pplist);
pnode buynode(datatype d);
void destroylinklist(plist* pplist);
void pushback(plist plist, datatype d);
void popback(plist* pplist);
void pushfront(plist* pplist, datatype d);
void popfront(plist* pplist);
pnode find(plist* pplist, datatype d);
void print(plist* pplist);
//在指定位置之前插入乙個值
void insert(plist* pplist, pnode pos, datatype d);
//指定位置刪除
void erase(plist* pplist, pnode pos);
void remove(plist* pplist, datatype d);
void removeall(plist* pplist, datatype d);
void erasenottailnode(pnode pos);
void printlinklist(plist plist);
int getlistlength(plist plist);
//鏈表面試題
//1. 逆序列印單項鍊表
void printreverse(plist plist);
void reverse(plist plist, plist *newplist);
#endif //__linklist_h__
#include "linklist.h"
void test()
int main()
int getlistlength(plist plist)
return count;
}void reverse(plist plist,plist *newplist)
print(newplist);
}void printreverse(plist plist)
else if (cur->next == null) }
pnode buynode(datatype d)
newnode->data = d;
newnode->next = null;
return newnode;
}void initlinklist(plist* pplist)
void print(plist* pplist)
printf("null\n");
}void pushback(plist* pplist, datatype d)
else
cur->next = newnode; }}
void popback(plist* pplist)
pre->next = null;
free(cur);
}void pushfront(plist* pplist, datatype d)
else }
void popfront(plist* pplist)
pnode find(plist *pplist, datatype d)
cur = cur->next;
} return null;
}void insert(plist* pplist, pnode pos, datatype d)
void erase(plist* pplist, pnode pos)
鍊錶的基本操作
include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...
鍊錶的基本操作
鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...
鍊錶的基本操作。。。
include node.h 列印鍊錶 void print node head printf n 從尾部插入 void insert tail node head,const int d while t next null t next p p next null 從頭部插入 void inser...