单链表的一些操作
来源:互联网 发布:淘宝怎么问卖家问题 编辑:程序博客网 时间:2024/06/06 21:44
#include<iostream>using namespace std;typedef char elemtype;//以char型为例struct Node{elemtype data;Node *next;};Node *Create_W();//使用尾插法建立单链表Node *Create_T();//使用头插法每次新节点总是作为首元节点插入在链表的头节点之后。 //插入的结果是,链表中各节点中数据的逻辑顺序与输入的顺序正好相反void Delete(Node *h);//释放堆中申请的空间int Length(Node *h);//求单链表的长度void Print(Node *h);//输出单链表的长度void Insert(Node *p,elemtype x);//在单链表的p节点之后插入值为x的新节点x;int main(){cout<<"使用尾插法建立单链表:"<<endl;Node *h=Create_W();//使用尾插法建立//Node *p=h->next;//p=p->next;//Insert(p,'A');在第二个节点后插入'A'Print(h);cout<<"此链表的长度为: "<<Length(h)<<endl;Delete(h);cout<<endl;cout<<"使用尾插法建立单链表:"<<endl;h=Create_T();//使用头插法建立Print(h);cout<<"此链表的长度为: "<<Length(h)<<endl;Delete(h);return 0;}Node *Create_W()//使用尾插法建立单链表{Node *h=new Node;//建立头节点h->next=0;//指针使用前将其赋值为0是个好习惯Node *t,*p;t=h;//t为临时节点,始终指向最后一个节点elemtype ch;while((ch=getchar())!='\n'){//cout<<ch<<endl;p=new Node;//建立一个新的节点p->data=ch;//为新的节点的数据域赋值p->next=0;//最后一个节点的指针域值为0,否则最后一个节点将未被初始化,导致程序崩溃t->next=p;//将当前节点的指针域指向下一个节点t=p;//t始终指向最后一个节点}return h;}Node *Create_T()//使用头插法每次新节点总是作为首元节点插入在链表的头节点之后。{ //插入的结果是,链表中各节点中数据的逻辑顺序与输入的顺序正好相反Node *h=new Node;Node *p=0;h->next=0;elemtype ch;while((ch=getchar())!='\n'){p=new Node;p->data=ch;p->next=h->next;//新节点指向->头节点指向的之前的"新"节点h->next=p;//注意头节点的指针域总是指向最后一个节点......画图模拟便可知道如何了}return h;}void Delete(Node *h){Node *p=h;while(p){h=h->next;//头节点后移delete p;//删除之前的"头节点"p=h;//获得当前的头节点}}int Length(Node *h){Node *p=h->next;//使p指向第一个节点int i=0;while(p){i++;p=p->next;}return i;}void Print(Node *h){cout<<"此方法输出的顺序为:"<<endl;Node *p=h->next;while(p){cout<<p->data;p=p->next;}cout<<endl;}void Insert(Node *p,elemtype x){Node *s=new Node;//生成一个新节点;s->data=x;s->next=p->next;p->next=s;}
0 0
- 单链表的一些操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的一些操作
- 单链表的一些操作。。
- 单链表的一些操作
- 单链表的一些常用操作
- 单链表操作的一些函数
- 单链表的一些基本操作
- 特殊单链表的一些操作
- 单链表的一些基本操作
- 单链表的一些基本操作
- 单链表的一些基本操作
- C/C++单链表的一些操作
- Java实现单链表的一些常用操作
- 关于单链表的一些基本操作
- DBCP Mysql报错!Communications link failure due to underlying exception
- 为什么我骂360弱智 周鸿祎却说“谢谢”
- 通过sap的表维护工具生成维护代码并建立自定义的TCODE
- Linux下lamp以及php开发环境相关配置
- 判断一颗树是否为二叉查找树
- 单链表的一些操作
- hdu 2082
- java 常用unicode编码汉字
- Dark Channel Prior去雾
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
- 比赛 注意格式 Calculate S(n)
- win7 下无法修改host文件,最简单的处理方法
- 学生成绩统计
- oracle创建用户,授权的SQL语句