slist.h對無頭單向非迴圈鍊錶功能運用函式的宣告
其中對函式實參的檢查都是運用assert函式來進行實現
#pragma once
typedef int sltdatatype;
typedef struct slistnodeslistnode;
typedef struct firstslist;
void slistinit(slist*list);
void slistdestory(slist* list);
slistnode* buyslistnode(sltdatatype data);
void slistprint(slist* list);
//增刪查改
void slistpushfront(slist*list,sltdatatype data);
void slistpushback(slist* list, sltdatatype data);
void slistpopfront(slist* list);
void slistpopback(slist* list);
slistnode* slistfind(slist* list, sltdatatype data);
void slistmodify(slist* list,sltdatatype data,sltdatatype x);
void slistinsertafter(slistnode* pos, sltdatatype data);
void slisteraseafter(slistnode* pos);
void slistremove(slist* list, sltdatatype data);
void slistreverselist(slist* list);
slist.c對頭檔案slist.h函式宣告的定義
#include "slist.h"
#include #include #include void slistinit(slist*list)
void slistdestory(slist* list)
list->first = null;
}slistnode* buyslistnode(sltdatatype data)
void slistpushfront(slist*list, sltdatatype data)
void slistpushback(slist* list, sltdatatype data)
slistnode* cur = list->first;
for (; cur->next != null; cur = cur->next);
cur->next = buyslistnode(data);
cur->next->next = null;
}void slistpopfront(slist* list)
void slistpopback(slist* list)
void slistprint(slist* list)
printf("null\n");
}slistnode* slistfind(slist* list, sltdatatype data)
} return null;
}void slistmodify(slist* list, sltdatatype data,sltdatatype x)
void slistinsertafter(slistnode* pos, sltdatatype data)
void slisteraseafter(slistnode* pos)
void slistremove(slist* list, sltdatatype data)
else
}if (list->first->data ==data); }
void slistreverselist(slist* list)
list->first = head;
}
main.c對slist.h標頭檔案中函式的測試檢查
#include "slist.h"
#include #include test(slist* list)
int main()
無頭單向非迴圈鍊錶
首先建立乙個標頭檔案存放所需要的函式功能的宣告slist.h ifndef slist h define slist h include include include include typedef int sltdatatype typedef struct slistnodeslistnode...
無頭單向非鍊錶的實現
節點類 class node 單鏈表 public class mylinedlist 頭插法 public void addfirst int data node.next this head this head node 尾插法 public void addlast int data node...
無頭單向非迴圈鍊錶增刪查改實現
無頭單向非迴圈鍊錶 結構簡單,一般不會單獨用來存資料。實際中更多的是作為其他資料結構的子結構,如雜湊表 圖的領接等等。下面,我們來看看無頭單向非迴圈鍊錶增刪查改實現。ifndef slist h define slist h include include include include 無頭單向非...