如何在单链表中读取第i个数据元素。

作者:分开不是尽头 | 创建时间: 2023-03-27
在已存在的线性链表中读取第i个元素。...
如何在单链表中读取第i个数据元素。

操作方法

设读取函数为getelem(L,i,e)

设一指针p计入L->next,并且用一数j计入第几号元素,j初值为1. p=L->next; j=1;

用一个循环找到第i号元素: while(p&&j<i){ p=p->next; ++j; }

判断:当p是否为0或j大于i是得到的结果是错误的; if(!p||j>i) return ERROR;

取出第i号元素,程序运行成功! e=p->data; return OK;

合总为: getelem(LinkList L,int i,ElemType &e) { p=L->next; j=1; while(p&&j<i){ p=p->next; ++j; } if(!p||j>i) return ERROR; e=p->data; return OK; }

温馨提示

当p是否为0或j大于i是得到的结果是错误的;
单链表储存结构:typedef struct LNode{ElemType data; struct LNode *next;}LNode,*LinkList;
点击展开全文

更多推荐