#include<stdio.h>
#include<iostream>
#include<fstream.h>
#include<Winsock2.h>
#include<time.h>
#include<conio.h>
#ifndef TRUE 1
#define TRUR 1
#define FALSE 0
#endif
#pragma comment(lib,"WS2_32.lib")
typedef struct Node
{
int data;
struct Node *next;
}List, *LinkList;
void DisPlay(LinkList L)
{
LinkList P;
P = L;
while (P != NULL)
{
cout<<P->data<<endl;
P = P->next;
}
}
LinkList Insert(LinkList head,int data)
{
LinkList L,temp;
L = head;
while (L != NULL)
{
L = L->next;
}
temp =new List;
temp->data = data;
temp->next = NULL;
L->next = temp;
return head;
}
void Insert(LinkList head,LinkList p)
{
if (head == NULL || p ==NULL)
{
return;
}
LinkList Temp = head;
while (Temp->next != NULL)
{
Temp = Temp->next;
}
p->next = NULL;
Temp->next = p;
}
void Sort_Insert(LinkList head,LinkList P)//flag =0;升序,否则相反
{
if (head ==NULL || P->next ==NULL)
{
return;
}
LinkList temp = head;
while ((temp->next != NULL) && (P->data > temp->next->data))
temp = temp->next;
P->next = temp->next;
temp->next = P;
}
void main()
{
LinkList head = new List;
head->next = NULL;
LinkList p = NULL;
int a[]={1,5,10};
const int len = sizeof(a)/4;
int i = 0;
for (;i < len; i++)
{
p = new List;
p->data = a[i];
//cout<<"input data "<<p->data<<endl;
Insert(head,p);
}
DisPlay(head->next);
//数组插入排序
int b[] ={8,0,6,3,9,7};
const int lenarray = sizeof(b)/4;
for (i = 0; i<lenarray;i++)
{
p = new List;
p->data = b[i];
cout<<"input data "<<p->data<<": "<<endl;
Sort_Insert(head,p);
DisPlay(head->next);
}
}