單鏈表的各種基本運算

2021-07-10 17:03:44 字數 1823 閱讀 7005

輸入**:

/*

實驗題2-2

*/#include#includetypedef char elemtype;

typedef struct lnode

linklist;

//使用頭插法

void createlistf(linklist *&l,elemtype a,int n)

}//使用尾插法

void createlistr(linklist *&l,elemtype a,int n)

r->next=null;

}//初始化線性表

void initlist(linklist *&l)

//銷毀線性表

void destroylist(linklist *&l)

free(pre);

}//判斷線性表是否為空表

bool listempty(linklist *l)

//求線性表的長度

int listlength(linklist *l)

return (n);

}//輸出線性表

void displist(linklist *l)

printf("\n");

}//求線性表中某個資料元素值

bool getelem(linklist *l,int i,elemtype &e)

if(p==null)

return false;

else

}//按元素值查詢

int locateelem(linklist *l,elemtype e)

if(p==null)

return (0);

else

return(i);

}//插入資料元素

bool listinsert(linklist *&l,int i,elemtype e)

if(p==null)

return false;

else

}//刪除資料元素

bool listdelete(linklist *&l,int i,elemtype &e)

if(p==null)

return false;

else

}int main()

; char e;

int i,j;

initlist(l);//初始化單鏈表

createlistr(l,s,5);//使用尾插法建立單鏈表

displist(l);//輸出單鏈表

listlength(l);//求單鏈表的長度

i=listempty(l);

if(i==0)

else

e=getelem(l,3,e);

printf("第三個元素為:%c\n",e);

j=locateelem(l,'a');//輸出a的位置

printf("元素a為第%d個元素\n",j);

listinsert(l,4,'f');//插入元素f到第四個元素

displist(l);//輸出線性表l

listdelete(l,3,e);//刪除第三個元素

displist(l);//輸出單鏈表l

destroylist(l);//銷毀釋放單鏈表

}

執行結果:

單鏈表各種基本運算的演算法

include includetypedef char elemtype typedef struct lnode linknode 宣告單鏈表節點型別 void createlistf linknode l,elemtype a,int n 頭插法建立單鏈表 void createlistr li...

實驗一 單鏈表的各種基本運算

編寫乙個程式,實現單鏈表的各種基本運算 建立乙個單鏈表,實現單鏈表的初始化,插入 刪除節點等功能,以及確定某一元素在單鏈表中的位置。1 初始化單鏈表 2 依次採用尾插入法插入a,b,c,d,e元素 3 輸出單鏈表l 4 輸出單鏈表l的長度 5 判斷單鏈表l是否為空 6 輸出單鏈表l的第三個元素 7 ...

實現迴圈單鏈表各種基本運算的演算法

實驗題目 實現迴圈單鏈表各種基本運算的演算法 實驗內容 編寫乙個程式實現迴圈單鏈表的各種基本運算,並在此基礎上設計乙個主程式 完成如下功能 1 初始化迴圈單鏈表h 2 依次採用尾部插入法插入a,b,c,d,e元素 3 輸出迴圈單鏈表h 4 輸出迴圈單鏈表h長度 5 判斷迴圈單鏈表h是否為空 6 輸出...