//
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;
}