有一个带头结点的非递减有序单链表L,头结点指针为Head,编写算法向L中插入x元素,使插入后仍为非递减有序

如题所述

第1个回答  2012-03-12
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN 99999999
struct LinkList
{
int num;
LinkList * next;

} * head;

void insert(LinkList * p1)
{
LinkList *p2=head;

while( p2->next !=NULL ){
if(p2->next->num <= p1->num) break;
p2=p2->next;
}
p1->next=p2->next;
p2->next=p1;
}

void output()
{
LinkList *p;
p=head->next;
while(p!=NULL){
printf("%d\t",p->num);
p=p->next;
}
printf("\n");
}

int main()
{
head = new LinkList;
// head.init();
head->next=NULL;
head->num=MAXN;
int n;
while(1){
scanf("%d",&n);
LinkList * now;
now=new LinkList;
now->num=n;
now->next=NULL;

insert(now);

output();
}
return 0;
}
相似回答