{
search = search->next->next;
mid = mid->next;
}
else
{
search = search->next;
}
}
*e = mid->data;
return OK;
}
int main()
{
LinkList L;
Status i;
char opp;
ElemType e;
int find;
int tmp;
i=InitList(&L);
printf("初始化L后:ListLength(L)=%d\n",ListLength(L));
printf("\n1.查看链表 \n2.创建链表(尾插法) \n3.链表长度 \n4.中间结点值\n5.按位置查找元素\n6.按值查找元素\n7.添加元素\n8.删除元素 \n0.退出 \n请选择你的操作:\n");
while(opp != 0)
{
scanf("%c",&opp);
switch(opp)

{
case 1:
ListTraverse(L);
printf("\n");
break;
case 2:
CreateListTail(&L,20);
printf("整体创建L的元素(尾插法):\n");
ListTraverse(L);
printf("\n");
break;
case 3:
//clearList(pHead); //清空链表
printf("ListLength(L)=%d \n",ListLength(L));
printf("\n");
break;
case 4:
//GetNthNodeFromBack(L,find,&e);
GetMidNode(L, &e);
printf("链表中间结点的值为:%d\n", e);
//ListTraverse(L);
printf("\n");
break;
case 0:
exit(0);
case 5:
//-------------
按序号查找
----------------------------------
Status GetElem_L(LinkList L,int i,ElemType &e)
{//在带头结点的单链表L中查找第i个元素LinkList p;
p=L->next;//
初始化,
p
指向第一个结点
int j=1;//j
为计数器
while(p&&j<i)//
顺链域向后扫描,直到
p
指向第
i
个元素或
p
为空
{
p=p->next;
++j;
}
if(!p||j>i)//
第
i
个元素不存在
return ERROR;
e=p->data;//
取第
i
个元素
return OK;
}
break;
case 6:
//------------
按值查找
---------------------------------------
LNode* LocateElem_L(LinkList L,ElemType e)
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-44450-2.html
一楼sb
何为发财