實驗2 不帶頭節點的單鏈表

2021-07-09 03:47:45 字數 1755 閱讀 2231

編寫函式slnklist delx(linklist head, datatype x),刪除不帶頭結點單鏈表head中第乙個值為x 的結點。

並構造測試用例進行測試。

#include "slnklist.h"

/*請將本函式補充完整,並進行測試*/

linklist delx(linklist head,datatype x)

// 找到第乙個x的位置;

if(p)

return head;

}int main()

假設線性表(a1,a2,a3,…an)採用不帶頭結點的單鏈表儲存,請設計演算法函式linklist reverse1(linklist  head)和

void reverse2(linklist *head)將不帶頭結點的單鏈表head就地倒置,使表變成(an,an-1,…a3.a2,a1)。並構造測試用例進行測試。

#include "slnklist.h"

/*請將本函式補充完整,並進行測試*/

linklist reverse1(linklist head)

return newh;

}void reverse2(linklist *head)

*head=p; // 指向逆置後的頭結點;

}int main()

假設不帶頭結點的單鏈表head是公升序排列的,設計演算法函式linklist insert(linklist head,datatype x),將值為x的結點插入到鍊錶head中,並保持鍊錶有序性。

分別構造插入到表頭、表中和表尾三種情況的測試用例進行測試。

/**********************************/

/*檔名稱:lab2_03.c */

/**********************************/

#include "slnklist.h"

/*請將本函式補充完整,並進行測試*/

linklist insert(linklist head ,datatype x)

p=(node*)malloc(sizeof(node));

p->info=x;

if(pre==null)else if(h)else if(!h)

return head;

}int main()

編寫演算法函式linklist delallx(linklist head, int x),刪除不帶頭結點單鏈表head中所有值為x的結點。

/**********************************/

/*檔名稱:lab2_04.c */

/**********************************/

#include "slnklist.h"

/*請將本函式補充完整,並進行測試*/

linklist delallx(linklist head,int x)

p=head;

do if(p)

p=p->next; // 從刪除的位置的下乙個開始查詢;

}while(p);

return head;

}int main()

不帶頭節點的單鏈表 基本函式

鍊錶分為帶頭節點和不帶頭節點,頭節點就是在鍊錶的首個節點處不存放資料,而是存放有關此鍊錶的一些資訊 今天我的這篇部落格是有關不帶頭節點的單鏈表實現 結構體 typedef int datatype typedef struct node node,pnode,list,plist 基本函式的實現 v...

資料結構實驗2 不帶頭結點的單鏈表

編寫函式slnklist delx linklist head,datatype x 刪除不帶頭結點單鏈表head中第乙個值為x 的結點。並構造測試用例進行測試。檔名稱 lab2 01.c include slnklist.h 請將本函式補充完整,並進行測試 linklist delx linkli...

不帶頭結點的單鏈表

slist.h pragma once typedef int sldatatype typedef struct slistnode slistnode 不帶頭節點的單鏈表 鍊錶初始化 void slistinit slistnode phead 建立新結點 slistnode slistnewn...