ha,hb为带头结点的非递减有序单链表,利用原空间生成的非递减有序单链表
2016-09-29 16:47
459 查看
“`
class LinkNodeOfInt{
public:
int data;
LinkNodeOfInt *link;
LinkNodeOfInt(const int &a,LinkNodeOfInt *ptr)
{
data=a;
link=ptr;
}
LinkNodeOfInt()
{
class ListOfint{
public:
LinkNodeOfInt *head;
LinkNodeOfInt *tail;
ListOfint()
{
head=new LinkNodeOfInt(0,NULL);
tail=head;
void merge_List(LinkNodeOfInt *pb)
{
LinkNodeOfInt *pa=head->link;
LinkNodeOfInt *pc=head;
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->link=pa;
pc=pa;
pa=pa->link;
}
else
{
pc->link=pb;
pc=pb;
pb=pb->link;
}
}
pc->link=pa?pa:pb;
}
};
int main()
{
ListOfint a;
a.insertTotail(1);
a.insertTotail(2);
a.insertTotail(3);
}
“#include
using namespace std;
class LinkNodeOfInt{
public:
int data;
LinkNodeOfInt *link;
LinkNodeOfInt(const int &a,LinkNodeOfInt *ptr)
{
data=a;
link=ptr;
}
LinkNodeOfInt()
{
class ListOfint{
public:
LinkNodeOfInt *head;
LinkNodeOfInt *tail;
ListOfint()
{
head=new LinkNodeOfInt(0,NULL);
tail=head;
void merge_List(LinkNodeOfInt *pb)
{
LinkNodeOfInt *pa=head->link;
LinkNodeOfInt *pc=head;
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->link=pa;
pc=pa;
pa=pa->link;
}
else
{
pc->link=pb;
pc=pb;
pb=pb->link;
}
}
pc->link=pa?pa:pb;
}
};
int main()
{
ListOfint a;
a.insertTotail(1);
a.insertTotail(2);
a.insertTotail(3);
}
include
using namespace std;class LinkNodeOfInt{
public:
int data;
LinkNodeOfInt *link;
LinkNodeOfInt(const int &a,LinkNodeOfInt *ptr)
{
data=a;
link=ptr;
}
LinkNodeOfInt()
{
} };
class ListOfint{
public:
LinkNodeOfInt *head;
LinkNodeOfInt *tail;
ListOfint()
{
head=new LinkNodeOfInt(0,NULL);
tail=head;
} ListOfint(const ListOfint &list) { head=new LinkNodeOfInt(0,NULL); LinkNodeOfInt *cur=head->link; LinkNodeOfInt *othercur=list.head->link; int i=0; while(othercur!=NULL) { LinkNodeOfInt *s=new LinkNodeOfInt(othercur->data,NULL); if(i==0) { head->link=s; cur=head->link; } else { cur->link=s; cur=cur->link; i++; } othercur=othercur->link; } } void insertTotail(int value) { LinkNodeOfInt *p=tail; p->link=new LinkNodeOfInt(value,NULL); tail=p->link; } void inserttoHead(int value) { LinkNodeOfInt *p=head->link; LinkNodeOfInt *s=new LinkNodeOfInt(value,p); head->link=s; } void prt_list() { LinkNodeOfInt *p=head->link; while (p) { cout<<p->data<<endl; p=p->link; } }
void merge_List(LinkNodeOfInt *pb)
{
LinkNodeOfInt *pa=head->link;
LinkNodeOfInt *pc=head;
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->link=pa;
pc=pa;
pa=pa->link;
}
else
{
pc->link=pb;
pc=pb;
pb=pb->link;
}
}
pc->link=pa?pa:pb;
}
};
int main()
{
ListOfint a;
a.insertTotail(1);
a.insertTotail(2);
a.insertTotail(3);
ListOfint b; b.insertTotail(4); b.insertTotail(5); a.merge_List(b.head->link); a.prt_list(); return 0;
}
“#include
using namespace std;
class LinkNodeOfInt{
public:
int data;
LinkNodeOfInt *link;
LinkNodeOfInt(const int &a,LinkNodeOfInt *ptr)
{
data=a;
link=ptr;
}
LinkNodeOfInt()
{
} };
class ListOfint{
public:
LinkNodeOfInt *head;
LinkNodeOfInt *tail;
ListOfint()
{
head=new LinkNodeOfInt(0,NULL);
tail=head;
} ListOfint(const ListOfint &list) { head=new LinkNodeOfInt(0,NULL); LinkNodeOfInt *cur=head->link; LinkNodeOfInt *othercur=list.head->link; int i=0; while(othercur!=NULL) { LinkNodeOfInt *s=new LinkNodeOfInt(othercur->data,NULL); if(i==0) { head->link=s; cur=head->link; } else { cur->link=s; cur=cur->link; i++; } othercur=othercur->link; } } void insertTotail(int value) { LinkNodeOfInt *p=tail; p->link=new LinkNodeOfInt(value,NULL); tail=p->link; } void inserttoHead(int value) { LinkNodeOfInt *p=head->link; LinkNodeOfInt *s=new LinkNodeOfInt(value,p); head->link=s; } void prt_list() { LinkNodeOfInt *p=head->link; while (p) { cout<<p->data<<endl; p=p->link; } }
void merge_List(LinkNodeOfInt *pb)
{
LinkNodeOfInt *pa=head->link;
LinkNodeOfInt *pc=head;
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->link=pa;
pc=pa;
pa=pa->link;
}
else
{
pc->link=pb;
pc=pb;
pb=pb->link;
}
}
pc->link=pa?pa:pb;
}
};
int main()
{
ListOfint a;
a.insertTotail(1);
a.insertTotail(2);
a.insertTotail(3);
ListOfint b; b.insertTotail(4); b.insertTotail(5); a.merge_List(b.head->link); a.prt_list(); return 0;
}
相关文章推荐
- 写程序。设ha和hb分别是两个带头结点的非递减有序单链表的头指针,试设计算法,将这两个有序链表合并成一个非递增有序的单链表。要求使用原链表空间,
- 设ha和hb分别是两个带头节点的费递减有序单链表的表头指针,设计以算法,将将两个有序链表合成一个非递减的有序单链表,该程序以以前发表的博客中的链表中的区别在与该立案表带有头结点
- 将两个递增有序的单链表合并成一个递减有序的单链表,利用原结点空间
- 将带头结点的单链表利用原结点空间将其逆置
- 将两个递增有序的单链表合并成一个递减有序的单链表,利用原结点空间
- 要完整准确的 均以单链表作存储结构 试编写算法将A表和B表归并成一个按元素值递减有序的线性表C 【数据结构】假设有两个按元素值递增有序的线性表A和B 并要求利用原表的空间存放C。谁会么
- 将链表L就地逆置,即利用原表各结点的空间实现逆置
- 单链表-----将Ha中所有值不相同的结点存储到Hb中
- 设单链表以非递减有序排列,设计算法实现在单链表中删除值相同的多余结点
- 生成结点值互不相同的且递增有序的单链表
- 单链表------合并两个有序链表Ha、Hb到Hc
- 设单链表以非递减有序排列,设计算法实现在单链表中删去值相同的多余结点。
- 将两个递增有序的带头结点的单链表A、B合并成为一个递增有序的带头结点的单链表
- 数据结构(四)——单链表 、带头结点的单链表、循环链表 及其实现
- 有序链表插入新结点的改进
- 对 带头结点的单链表 的操作
- 将带头结点的有序单链表A和B合并成一个新的有序表C……
- 带头结点的单链表就地逆置
- 带头结点的单链表反转
- K个有序链表共N个结点在O(NlgK)时间合并为一个新的有序链表头文件C语言