資源簡介
編寫算法刪除單鏈表L中所有值為e的數據元素。
代碼片段和文件信息
//編寫算法刪除單鏈表L中所有值為e的數據元素。
#include?
typedef?int?ElemType;
typedef?struct?LNode
{
????ElemType?data;
????struct?LNode?*next;
}linkList;
void?InitList(linkList?*&L)
{
??L=(linkList?*)malloc(sizeof(LNode));
??L->next=NULL;
}
void?CreateListR(linkList?*&LElemType?a[]int?n)
{
??linkList?*s*r;
??L=(linkList?*)malloc(sizeof(LNode));
??L->next=NULL;
??r=L;
??for(int?i=0;i ??{?
????s=(linkList?*)malloc(sizeof(LNode));
s->data=a[i];
r->next=s;
r=s;
??}
??r->next?=NULL;
}
int?ListLength_L(linkList?*L)
{
??int?n=0;
??linkList?*p;
??p=L->next?;
??while(p!=NULL)
??{??n++;
?????p=p->next?;
??}
??return?n;
}
bool?GetElem(linkList?*Lint?ilinkList?*&p)
{
???int?j=1;
???p=L->next?;
???while(p!=NULL?&&?j???{?p=p->next?;
?????j++;
???}
???if(p==NULL)
???return?false;
???else
???????return?true;
}
bool?LocateElem(linkList?*LElemType?elinkList?*&p)
{
????p=L->next?;
while(p!=NULL?&&?p->data!=e)
???p=p->next?;
if(p==NULL)
return?false;
else
????return?true;
}
bool?ListInsert(linkList?*&Lint?iElemType?e)
{
???if(i<1)
???return?false;
???int?j=0;
???linkList?*p;
???p=L?;
???while(p!=NULL?&&?j ???{?p=p->next?;
?????j++;
???}
???if(?p==NULL)
???return?false;
???linkList?*s;
???s=(linkList?*)malloc
- 上一篇:用C#實現的四叉樹,源碼,可以直接運行
- 下一篇:C++模擬ATM取款源代碼
評論
共有 條評論