hgfh_thgfh_fhgfh(3)

电脑杂谈  发布时间:2017-05-01 00:01:23  来源:网络整理

{

//

在带头结点的单链表

L

中查找值为

e

的元素

LNode* p;

p=L->next;

while(p&&p->data!=e)//

寻找满足条件的结点

p=p->next;

return p;//

返回

L

中值为

e

的元素的位置;查找失败的话返回

NULL

}

break;

case7:

//------------

插入

-------------------------------------------

Status ListInsert_L(LinkList &L,int i,ElemType &e)

{

LinkList p=L;

int j=0;

while(p&&j<i-1)

{

p=p->next;

++j;

}

if(!p||j>i-1)

return ERROR;

LinkList s;

s=new LNode;//

生成新结点

s

s->data=e;//

thgfh_fhgfh_hgfh

将结点

s

的数据域置为

e

s->next=p->next;//

将结点

s

插入

L

中

p->next=s;

cout<<"

插入完成

"<<endl;

return OK;

}

break;

case8:

//--------------

单链表删除

------------

Status ListDelete_L(LinkList &L,int i,ElemType e)

{

LinkList p=L;

LinkList q;

int j=0;

while(p&&j<i-1)//

寻找第

i-1

个结点

{

p=p->next;

++j;

}

if(!(p->next)||j>i-1)

return ERROR;//i

大于表长

+1

或小于

1

q=p->next;//

临时保存被删结点的地址以备释放

p->next=q->next;//

改变删除结点前驱结点的指针域

e=q->data;

delete q;//

释放删除结点的数据域

cout<<e<<"

被删除

"<<endl;

return OK;

}

//---------------

前插法创建链表

--

逆序输入

--------

void CreateList_F(LinkList &L,int n)

{

L=new LNode;

LinkList p;

L->next=NULL;//

先建立一个带头结点的空链表

for(int i=n;i>0;--i)

{

p=new LNode;//

生成新结点

cin>>p->data;//

输入元素值

p->next=L->next;

L->next=p;//

插入到表头

}

}

//--------------

后插法创建链表

--

正序输入

-----------

void CreateList_L(LinkList &L,int n)

{

L=new LNode;

LinkList p;

L->next=NULL;

LinkList r=L;//

尾指针

r

指向头结点

for(int i=0;i<n;++i)

{

p=new LNode;//

生成新结点

cin>>p->data;

p->next=NULL;

r->next=p;

r=p;//r

指向新的结点

}

}

int main()

{

int choice;

int n;

int i;

}

}

}


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-44450-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...