赞
踩
- #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;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。