C语言构建单链表LA和LB,构造两张带头结点的单链表la和lb,表长分别为m,n(0≤m,n≤10);...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

szstrongman

2014.12.09

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:49%    等级:12

已帮助:4403人

#include using namespace std; class LinkNode //节点类 { public: int data; //系数 LinkNode *next; LinkNode(int k=0) { data=k; next=NULL; } ~LinkNode() {} }; class LinkList //链表类 { public: LinkNode *head; LinkList(int n); ~LinkList(); void output(); int Getlength(); int InsertElem(int d); }; LinkList::LinkList(int n) //链表类的构造函数 ,创建一条单链表 { head=NULL; if(n>0) { int i=1; LinkNode *rear,*q; head=new LinkNode(i++); rear=head; while(i<=n) { i=i+2; q=new LinkNode(i); rear->next=q; rear=q; } } } LinkList::~LinkList() //链表类的析构函数,删除一条单链表 { LinkNode *p=head,*q; while(p!=NULL) { q=p; p=p->next; delete q; } head=NULL; } int LinkList::Getlength() //获得链表长度,并返回 { int i=0; LinkNode *p=head; while(p!=NULL) { p=p->next; i++; } return i; } int LinkList::InsertElem(int d) //插入一个元素,并自动按升序插入 { bool flag=0; LinkNode *p=head,*p_prior=NULL; while(flag==0) { if(d<=p->data) { //p->next=p; LinkNode *q=new LinkNode; q->data=d; p_prior->next=q; q->next=p; flag=1; } else { p_prior=p; p=p->next; } } flag=0; } void LinkList::output() { LinkNode *p=head; while(p!=NULL) { cout<data<next; } cout<

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值