輸入**:
/*
實驗題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 輸出...