鍊錶學習例子

2021-09-30 05:15:49 字數 1145 閱讀 4430

#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 鍊錶在指定位置插入與刪除元素不需要移動元素,只需要修改指標即可,而陣列刪除與加入元素則需要移動後面的元素,鍊錶相對於陣列來講,則多了指標域空間開銷,拿到鍊錶第乙個節點就相當於拿到整個鍊錶 鍊錶的分類 靜態鍊錶,動態鍊錶 單向鍊錶,雙向鍊錶,迴圈鍊錶,單向迴圈鍊錶,雙向...