#include #include typedef struct nodenode,*pnode;//node等價於struct node,pnode等價於struct node *
pnode create_list();//建立鍊錶
void show_list(pnode);//列印鍊錶
int getsize(pnode);//得到鍊錶長度
void delete_list(pnode);//刪除鍊錶
bool is_empty(pnode);//判斷是否為空
void insert_list(pnode);//插入乙個元素
void sort_list(pnode);//對鍊錶進行排序
int main(void)
//建立鍊錶
pnode create_list()
pnode ptail = phead;//令尾指標等於頭指標
ptail->pnext = null;
pnode p = ptail;
int i,val;
for(i=0; idata = val;
p->pnext = null;
ptail->pnext = p;
ptail = p;
} return phead;
} //列印鍊錶
void show_list(pnode phead)
printf("\n該鍊錶共有%d個元素\n",getsize(phead) );
pnode p = phead->pnext;
while(p != null)
printf("\n");
} //得到鍊錶長度
int getsize(pnode phead)
int count=0;
pnode p = phead->pnext;
while(p != null)
return count;
}//判斷是否為空
bool is_empty(pnode phead)
return false;
} //刪除鍊錶
void delete_list(pnode phead)
int size = getsize(phead);
printf("\n該鍊錶共有%d個元素\n", size);
printf("請輸入要刪除第幾個元素:");
int index;
scanf("%d",&index);
while( index<1 || index > size)
int i;
pnode p = phead;
pnode temp;
for(i=0; ipnext;
p->pnext = p->pnext->pnext;
free(temp); //把刪除的節點釋放,防止記憶體洩露
} p = p->pnext;
}} //插入乙個鍊錶
void insert_list(pnode phead)
int size = getsize(phead);
printf("\n該鍊錶共有%d個元素\n", size);
printf("請輸入要插入為第幾個元素 元素值:");
int index,val;
scanf("%d %d",&index,&val);
while( index<1 || index > size+1)
int i;
pnode p = phead;
//第一種插入的演算法
/* for(i=0; i<=size; i++)
p = p->pnext;
}*/
//第二種插入的演算法
i=0;
while(p!=null && i < index-1)
pnode temp = (pnode)malloc( sizeof(node) );
temp->data = val;
temp->pnext = p->pnext;
p->pnext = temp;
} //對鍊錶進行排序
void sort_list(pnode phead)
printf("\n鍊錶排序的結果如下:\n");
線性表的鍊錶的增刪查改等的操作
include d定義型別 typedef int ldatetype 定義結構體型別 typedef struct listnode listnode 定義頭指標 typedef struct list list 初始化頭指標 void inistlist list lst listnode cr...
鍊錶 增 刪 查 改 排序
define crt secure no warnings include include include typedef struct num ss ss head null int count 0 void add node void remove node int id void seek n...
鍊錶的初始化,增刪改查等
這幾天一直在看鍊錶,剛開始有點迷糊,看了兩天,後來發現鍊錶實際上挺簡單的,主要掌握住,怎麼判斷鍊錶為空,鍊錶怎麼表示,增刪改查操作時,應該怎麼操作當前結點,注意記憶體洩漏,掌握住了以上幾點,鍊錶應該就差不多了,廢話不多說,直接擼 include using namespace std class n...