首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

遍历一个给定数组,创设一个有序链表

2013-10-27 
遍历一个给定数组,创建一个有序链表// 遍历数组建立有序链表.cpp : 定义控制台应用程序的入口点。//#includ

遍历一个给定数组,创建一个有序链表

// 遍历数组建立有序链表.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;struct ListNode{int m_nValue;ListNode *m_pNext;};//创建一个链表,输入从头到尾结点的值,输入-1表示结束void AddItem(ListNode *&pHead, int nValue){ListNode *pCur = NULL;ListNode *pPre = NULL;//创建新节点ListNode *pNewData = new ListNode;pNewData->m_nValue = nValue;pNewData->m_pNext = NULL;if (pHead == NULL){pHead = pNewData;}else{        if (pHead->m_nValue > nValue)        {pNewData->m_pNext = pHead;pHead = pNewData;        }else{pCur = pHead->m_pNext;pPre = pHead;while (pCur!=NULL && pCur->m_nValue<nValue){pPre = pCur;pCur = pCur->m_pNext;}pNewData->m_pNext = pPre->m_pNext;pPre->m_pNext = pNewData;}}}//从头到尾打印链表void PrintList(ListNode *&pHead){if (pHead != NULL){ListNode *pCur = pHead;while (pCur != NULL){cout << pCur->m_nValue << " ";pCur = pCur->m_pNext;}cout << endl;}else{cout << "链表为空!" << endl;}}int _tmain(int argc, _TCHAR* argv[]){int a[6] = {2,1,4,3,0,9};ListNode *pHead = NULL;for (int i=0; i<6; i++){AddItem(pHead, a[i]);}PrintList(pHead);system("pause");return 0;}

热点排行