内含三个文件

源代码在线查看: 链表插入.cpp

软件大小: 3 K
上传用户: zhoulovely
关键词:
下载地址: 免注册下载 普通下载 VIP

相关代码

				#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");
				}			

相关资源