内含三个文件
源代码在线查看: 链表插入.cpp
软件大小: |
3 K |
上传用户: |
zhoulovely |
|
|
关键词: |
|
下载地址: |
免注册下载 普通下载
|
|
#include
using namespace std;
#include
typedef int DataType; //以int为例
struct Lnode
{
DataType data;
Lnode *next;
};
Lnode *insert(Lnode *p,int n)//链表插入
{
Lnode *p0,*p1,*p2;
p0=new Lnode;
p0->data=n;
p1=p;
while((p0->data>p1->data)&&(p1->next!=NULL))
{
p2=p1;
p1=p1->next;
}
if(p0->datadata)
{
if(p==p1)
p=p0;
else
p2->next=p0;
p0->next=p1;
}
else
{
p1->next=p0;
p0->next=NULL;
}
return p;
}
Lnode *creat()//创建链表,并对其进行排序
{
Lnode *p,*h;
int a[100];
int i,j,k,n;
cout cin>>n;
cout for(i=0;i cin>>a[i];
for(j=0;j {
for(i=0;i {
if(a[i]>a[i+1])
{
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
}
}//冒泡法将数组排序
h=new Lnode;
p=h;
for(i=0;i {
p->next=new Lnode;
p->data=a[i];
p=p->next;
}//将数组赋值给链表
p->data=a[n-1];
p->next=NULL;
return h;
}
void main()
{
Lnode *p,*h,*q;
int n;
h=creat();
cout cin>>n;
cout q=insert(h,n);
p=q;
while(p!=NULL)
{
cout p=p->next;
}//输出结果
cout system("pause");
}