-
int List::LocateElem(Node *pNode) { Node *currentNode = m_pList; for(int i=0;currentNode->next!=NULL;i++) { currentNode = currentNode->next; if(currentNode->data==pNode->data) { return i; } } return -1; }查看全部
-
for(int k=0;k<=i;k++) { currentNode = currentNode->next; }查看全部
-
Node *currentNode = m_pList; for(int k=0;k<i;k++) { currentNode = currentNode->next; }//(i-1)th Node Node *currentNodeBefore = currentNode; currentNode = currentNode->next;//i-th Node查看全部
-
线性表分为 顺序表和链表查看全部
-
int temp=0;查看全部
-
动手实践,事倍功半查看全部
-
线性表是n个数据元素的有限序列查看全部
-
循环链表:尾指针指向头指针所在的数据域查看全部
-
ListDelete函数中pNode参数可以不用实现这个功能查看全部
-
创建了两个List类型对象:*Temp与*newNode,第一个用来临时存储第一个节点(位置)(即m_pList->next);第二个是用来代替传入的形参查看全部
-
Node *temp=m_pList->next;即m_pList->next表示m_pList下一个节点的地址,整体上这条语句是为Node类型对象指针初始化,执行后,*temp即m_pList下一个节点查看全部
-
m_pList指向一个Node类型的对象,即对象指针的一种情形,因此可用->符号来访问对象所含有的数据成员。查看全部
-
Node*p即一个指向Node类型数据的指针查看全部
-
一边看一边敲 #include <iostream> #include <stdlib.h> #include "List.h" using namespace std; /*线性表*/ int menu() { cout<<"功能菜单"<<endl; cout<<"1 新建联系人"<<endl; cout<<"2 删除联系人"<<endl; cout<<"3 浏览通讯录"<<endl; cout<<"4 退出通讯录"<<endl; cout<<"请输入:"; int order=0; cin>>order; return order; } void creatperson(List *pList) { Node node; Person person; cout<<"输入用户姓名:"; cin>>person.name; cout<<"输入电话号码:"; cin>>person.phone; node.data=person; pList->ListInsertTail(&node); } int main() { int userorder=0; List *pList=new List(); while(userorder!=4) { userorder=menu(); switch(userorder) { case 1: cout<<"用户指令-------》新建联系人"<<endl; creatperson(pList); break; case 2: cout<<"用户指令-------》删除联系人"<<endl; break; case 3: cout<<"用户指令-------》浏览通讯录"<<endl; pList->ListTravers(); break; case 4: cout<<"用户指令-------》退出通讯录"<<endl; break; } } delete pList; pList=NULL; system("pause"); return 0; } //List.h #ifndef LIST_H #define LIST_H #include "Node.h"查看全部
-
对<<和 ==两个运算符进行重载查看全部
举报
0/150
提交
取消