使用C++创建链表
2014-08-06 15:40
225 查看
C++创建链表的思路和C语言一样只是实现的方式不同
C++创建链表的思路/article/1533256.html
程序代码:
执行结果:
C++创建链表的思路/article/1533256.html
程序代码:
#include <iostream> #include <cstdlib> using namespace std; class Node//结点结果 { public: void Create_list();//创建链表 void Traverse_list();//遍历链表 private: int val;//数据域 Node *pNext;//指针域 Node *pHead;//头结点 }; typedef struct Node NODE; typedef struct Node* PNODE; /* NODE相当于struct Node PNODE 相当于 struct Node* */ //创建链表 void Node::Create_list() { //创建一个头结点 pHead = new NODE[sizeof(NODE)]; if(NULL == pHead) { cout<<"动态内存分配失败,程序终止!"<<endl; exit(0); } PNODE pTail = pHead;//创建一个指向头结点的指针 pTail->pNext = NULL;//初始化指针的指针域为NULL int len;//用于保存链表中结点的个数 cout<<"请输入你需要创建的结点的个数:"; cin>>len; for(int i=1; i<=len; i++) { int num;//保存每个结点的值 cout<<"请输入第"<<i<<"个结点的值:"; cin>>num; //创建一个保存数据的新结点 PNODE pNew = new NODE[sizeof(NODE)]; if(NULL == pNew) { cout<<"动态内存分配失败,程序终止!"<<endl; exit(0); } pNew->val = num;//初始化结点的数据域 pTail->pNext = pNew;//将pNew挂在老结点的后面 pTail = pNew;//将指针pTail移到pNew上 pTail->pNext = NULL;//清空指针域 } } //遍历链表 void Node::Traverse_list() { PNODE p = pHead->pNext; while(NULL != p) { cout<<p->val<<" "; p = p->pNext; } cout<<endl; } void main() { NODE pHead; //创建链表 pHead.Create_list(); //遍历链表 pHead.Traverse_list(); system("pause"); }
执行结果:
相关文章推荐
- 在C++中创建并使用WEB服务
- 使用vs2005创建智能设备的C#和C++混合项目
- 在cocoa中使用C++STL 链表
- 【原创】C++创建和使用动态链接库之Win32DLL
- 用C++写的学生成绩管理系统(比较简单的没有使用链表,只是用到了类和对象)
- 在C++中创建并使用Web服务
- 第05章 CORE C++_对象的创建和使用_继承_多态_析构_xxx_cast_友元_只读成员_静态成员_多重继承_虚继承_内部类
- 仿MFC实现c++按名动态创建对象之续(瘦身以及解决其在dll中使用的问题)
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- C++使用gsoap创建webService
- 使用vs2005创建智能设备的C#和C++混合项目
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- 创建和使用动态链接库 (C++)
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- C++--如何实现SDI程序使用CSplitterWnd创建的多个视图的动态地显示和关闭视图
- 使用NetBeans C/C++ Pack 5.5 创建程序(二)
- 在VC6.0中创建和使用静态链接库&amp;amp;&amp;amp;C如何调用C++ 成员函数
- Visaul C++ 6.0创建并使用DLL