#include
using namespace std;
#define node struct student
#define null 0
#define len sizeof(struct student)
struct student
;int n;
struct student *creat()
p2->next=null;//最後的節點要記得指向空節點
return(head);
}
struct student *del(struct student *head,long num)//刪除資料的函式
p1=head;//不是空鍊錶,就把傳進來的煉表頭指標交給中間指標變數
while(num!=p1->num&&p1->next!=null)//判斷是否存在要刪除的數
if(num==p1->num)//如果是要刪除的數,則有如下的操作
}struct student *insert(struct student *head,struct student *pn)//宣告鍊錶資料的頭指標引數,及插入資料的節點指標引數
if(pn->score>=head->score)//如果插入的資料大於或等於頭指標的資料,那麼有如下操作
while(pc->next!=0&&pn->score<=pc->score)//當待插入的節點資料小於或等於與頭節點資料(或存在的資料),
if(pn->score<=pc->score)//知道比較完所以鍊錶中的資料,沒有找到比要插入節點資料小時,則只能插入到最後
else
return head;//最後插入操作完成之後當然是要返回鍊錶的頭結點了
}int main()//在各函式模組都寫好之後,編寫主函式來對它們運用或測試也很重要,下面說明主函式如何編寫呼叫它們
cout<<"input the inserted record:"<>stu->num>>stu->score;//雖然已經給輸入的資料分配好空間了,但是它還沒和鍊錶中是資料形成一條連,所以要要通過指標來連線起來
while(stu->num!=0)//與輸入的學好為零作為輸入終止判斷
system("pause");
return 0;
}
鍊錶 逆序 例子
typedef struct node node node createlink int n return pheaer node reverselink node pher pheader pher pcurrentnode pheader pnext while pcurrentnode pne...
c 學習例子靜態鍊錶ListEntry
c 學習例子靜態鍊錶listentry class 靜態鍊錶listentry static 靜態鍊錶listentry 第一項fistentry 靜態鍊錶listentry 下乙個條目nextentry const void 顯示display const private 靜態鍊錶listentr...
鍊錶學習 靜態鍊錶
struct linknode 鍊錶在指定位置插入與刪除元素不需要移動元素,只需要修改指標即可,而陣列刪除與加入元素則需要移動後面的元素,鍊錶相對於陣列來講,則多了指標域空間開銷,拿到鍊錶第乙個節點就相當於拿到整個鍊錶 鍊錶的分類 靜態鍊錶,動態鍊錶 單向鍊錶,雙向鍊錶,迴圈鍊錶,單向迴圈鍊錶,雙向...