您的位置:首页 > 其它

单链表

2016-03-01 15:07 225 查看
// List.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <vld.h>

using namespace std;
typedef struct _List
{
int nData;
struct _List*next;
};

void insertList(_List* pList, int nData)
{
while (pList->next){
pList = pList->next;
}
_List *p = new _List;
p->nData = nData;
p->next = NULL;
pList->next = p;
}

void output(_List *pList)
{
while (pList){
cout<<pList->nData<<endl;
pList = pList->next;
}
cout<<"//////////////////////////"<<endl;
}

void DeleteList(_List *pList)
{
while (pList){
_List *p = pList->next;
delete pList;
pList = p;
}
}

void DeleteNode(_List *pList, int nPos)
{
int i = 0;
while (pList && i++ < nPos){
if (i == nPos){
_List *p = pList->next->next;
delete pList->next;
pList->next = p;
break;
}
pList = pList->next;
}
}

void SortList(_List *pList)
{
while (pList){
_List *p = pList->next;
while (p){
if (pList->nData < p->nData){
int nTemp = pList->nData;
pList->nData = p->nData;
p->nData = nTemp;
}
p = p->next;
}
pList = pList->next;
}
}

int _tmain(int argc, _TCHAR* argv[])
{
_List *pList = new _List;
pList->nData = 0;
pList->next = NULL;
insertList(pList, 1);
insertList(pList, 2);
insertList(pList, 3);
insertList(pList, 4);
insertList(pList, 5);
insertList(pList, 6);
insertList(pList, 7);
insertList(pList, 8);
insertList(pList, 9);
insertList(pList, 10);
output(pList);

SortList(pList);
output(pList);

DeleteNode(pList, 3);
output(pList);
DeleteList(pList);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: