链表7--------查找2:给数传值
代码
ListNode* LinkedList::get(int i) {//索引函数:返回对应索引的元素if (i<0 || i>size) {throw out_of_range("Invalid Position!");}ListNode* curr = head;for (int j = 0; j < i; j++) {curr = curr->next;}return curr;
}解释
ListNode* LinkedList::get(int i) {//索引函数:返回对应索引的元素
这一行是索引函数的返回值类型、函数名和参数列表,返回值类型是结构体指针,因为要返回相应的节点,函数名是get,代表得到某个节点,加入LinkedList::方便调用类内的成员变量,参数列表代表得到节点的索引。
if (i<0 || i>size) {
throw out_of_range("Invalid Position!");
}
优先判断异常输入,由于传入的是索引值。
ListNode* curr = head;for (int j = 0; j < i; j++) {curr = curr->next;}return curr;
}首先利用curr暂存头节点,然后通过for遍历链表,直到curr指向目标位置,最终返回curr。
