#include <iostream>
using namespace std;
typedef struct list
{
int data;
struct list * pNext;
} List, *pList;
pList CreatHeadNode ();
pList CreatNewNode ();
void BuildList (pList);
void PrintList (pList);
void SortList (pList);
int main ()
{
int n;
pList pHead = CreatHeadNode ();
BuildList (pHead);
SortList (pHead);
PrintList (pHead);
}
pList CreatHeadNode ()
{
pList pNewNode = new List;
if (pNewNode == NULL)
exit (-1);
pNewNode->data = 0;
pNewNode->pNext = NULL;
return pNewNode;
}
pList CreatNewNode ()
{
pList pNewNode = new List;
if (pNewNode == NULL)
exit (-1);
pNewNode->pNext = NULL;
cin >> pNewNode->data;
if (pNewNode->data == 0)
return NULL;
return pNewNode;
}
void BuildList (pList pHead)
{
pList pTail = pHead;
pList pNewNode = CreatNewNode ();
while (pNewNode)
{
pTail->pNext = pNewNode;
pTail = pNewNode;
pNewNode = CreatNewNode ();
}
}
void PrintList (pList pHead)
{
pList p = pHead->pNext;
while (p)
{
cout << p->data << " ";
p = p->pNext;
}
}
void SortList (pList pHead)
{
pList p = pHead->pNext;
pList q = p->pNext;
int t;
while (p)
{
q = p->pNext;
while (q)
{
if (p->data > q->data)
{
t = p->data;
p->data = q->data;
q->data = t;
}
q = q->pNext;
}
p = p->pNext;
}
}
01-09
1116
01-18
1610
12-17
388