(线性表)已知一单向链表,从第二个结点至表尾递增有序,(设a1<x<an)如下图(“第二个结点至表尾”指a1…an )。试编写程序,将第一个结点删除并插入表中适当位置,使整个链表递增有序。
输入
5
11 7 8 9 10
输出
7 8 9 10 11
#include <iostream>
using namespace std;
struct Node
{
int data;
Node *next;
};
Node *createlist(Node *head,int n) //建立链表
{
Node *previous; //前驱结点
Node *current; //当前结点
if(n<1)
{
return NULL; //建立空链表
}
previous=head=new Node; //建立首结点
cin>>head->data; //输入数据
while(--n)
{
current=new Node; //建立新结点
cin>>current->data; //输入数据
previous->next=current; //将新结点挂在表尾
previous=current;
}
previous->next=NULL; //置表尾结束标志
return head; //返回首结点指针
}
Node *insertsortlist(Node *