合并两个有序链表
来源:互联网 发布:win10解压rar软件 编辑:程序博客网 时间:2024/05/20 03:47
// CList.cpp: 主项目文件。
#include "stdafx.h"
#include "iostream"
using namespace std;
using namespace System;
class Node
...{
public:
int data;
Node *mylist;
Node()
...{
mylist=NULL;
}
};
class MyList
...{
public:
Node node;
public:
void CreateSortList(Node *List);//有序链表
void AndTwoList(Node *firList,Node *secList);
void PrintList(Node List)const;//输出
};
void MyList::CreateSortList(Node *List)
...{
int intcin;
cout<<"输入一个整数:";
cin>>intcin;
Node *newlist=new Node();
newlist->data=intcin;
newlist->mylist=NULL;
Node *p=List;
while(p->mylist!=NULL&&p->mylist->data<intcin)
...{
p=p->mylist;
}
if(p->mylist==NULL)
...{
p->mylist=newlist;
}
else
...{
newlist->mylist=p->mylist;
p->mylist=newlist;
}
}
void MyList::AndTwoList(Node *firList, Node *secList)//把两个有序链表合并为一个有序链表
...{
Node *p,*q,*s;
p=firList;
q=secList->mylist;
if(q==NULL)//第二个为空
return;
while(p->mylist!=NULL&&q!=NULL)
...{
if(p->mylist->data<=q->data)
...{
p=p->mylist;
}
else
...{
s=q->mylist;
q->mylist=p->mylist;
p->mylist=q;
q=s;
p=p->mylist;
}
}
if(p->mylist==NULL)
...{
p->mylist=q;
}
}
void MyList::PrintList(Node List) const
...{
Node *PList=List.mylist;
while(PList)
...{
cout<<PList->data<<"->";
PList=PList->mylist;
}
}
int main(array<System::String ^> ^args)
...{
MyList *List;
Node Head;
Node end;
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->AndTwoList(&Head,&end);
List->PrintList(Head);
getchar();
getchar();
return 0;
}
#include "stdafx.h"
#include "iostream"
using namespace std;
using namespace System;
class Node
...{
public:
int data;
Node *mylist;
Node()
...{
mylist=NULL;
}
};
class MyList
...{
public:
Node node;
public:
void CreateSortList(Node *List);//有序链表
void AndTwoList(Node *firList,Node *secList);
void PrintList(Node List)const;//输出
};
void MyList::CreateSortList(Node *List)
...{
int intcin;
cout<<"输入一个整数:";
cin>>intcin;
Node *newlist=new Node();
newlist->data=intcin;
newlist->mylist=NULL;
Node *p=List;
while(p->mylist!=NULL&&p->mylist->data<intcin)
...{
p=p->mylist;
}
if(p->mylist==NULL)
...{
p->mylist=newlist;
}
else
...{
newlist->mylist=p->mylist;
p->mylist=newlist;
}
}
void MyList::AndTwoList(Node *firList, Node *secList)//把两个有序链表合并为一个有序链表
...{
Node *p,*q,*s;
p=firList;
q=secList->mylist;
if(q==NULL)//第二个为空
return;
while(p->mylist!=NULL&&q!=NULL)
...{
if(p->mylist->data<=q->data)
...{
p=p->mylist;
}
else
...{
s=q->mylist;
q->mylist=p->mylist;
p->mylist=q;
q=s;
p=p->mylist;
}
}
if(p->mylist==NULL)
...{
p->mylist=q;
}
}
void MyList::PrintList(Node List) const
...{
Node *PList=List.mylist;
while(PList)
...{
cout<<PList->data<<"->";
PList=PList->mylist;
}
}
int main(array<System::String ^> ^args)
...{
MyList *List;
Node Head;
Node end;
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&Head);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->CreateSortList(&end);
List->AndTwoList(&Head,&end);
List->PrintList(Head);
getchar();
getchar();
return 0;
}
- 有序的合并两个有序链表
- 两个有序链表合并为有序
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- 两个有序链表合并
- 合并两个有序链表
- 合并两个有序链表
- 27.1.1 生成证书请求
- 开张了
- 内部诊断工具,第1部分:PSSDiag
- fjnu 1689 Shipping Routes
- 拯救情感
- 合并两个有序链表
- 27.1.2 启用SSL
- asp.net(C#.VB)array、arraylist和list的区别(转自CSDN)
- 将2002迁移到
- 剪影_那些我们认为遥不可及的故事,正一点点向我们走来
- 27.2 基于数字证书的用户身份认证
- 跟踪清理工具
- 使用axis 1.4 开发 webservice
- 在2005Beta2中编辑Transact-SQL代码