?? studlist.cpp
字號:
// StuDList.cpp: implementation of the CStuDList class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "DouList.h"
#include "StuDList.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CStuDList::CStuDList()
{
m_pFirstNode = NULL;
m_pLastNode = NULL;
m_pCurNode = NULL;
}
CStuDList::~CStuDList()
{
}
//Create Double List
void CStuDList::CreateDList(CStu* pNode)
{
if(m_pFirstNode == NULL && m_pLastNode == NULL)
{
m_pFirstNode = new CStu;
m_pFirstNode = pNode;
m_pLastNode = m_pFirstNode;
m_pCurNode = m_pFirstNode;
}
}
//Add Tail Node
void CStuDList::AddTailNode(CStu* pNode)
{
m_pLastNode->m_pNext = pNode;
pNode->m_pPre = m_pLastNode;
m_pLastNode = pNode;
m_pCurNode = m_pLastNode;
}
//Add Head Node
void CStuDList::AddHeadNode(CStu* pStu)
{
m_pFirstNode->m_pPre = pStu;
pStu->m_pNext = m_pFirstNode;
m_pFirstNode = pStu;
m_pCurNode = pStu;
}
//
CStu* CStuDList::GetNextNode()
{
if(m_pCurNode->m_pNext == NULL)
{
MessageBox(NULL,"list tail!","Warning",MB_OK);
return NULL;
}
CStu* Temp = m_pCurNode->m_pNext;
m_pCurNode = Temp;
return Temp;
}
//
CStu* CStuDList::GetPreNode()
{
if(m_pCurNode->m_pPre == NULL)
{
MessageBox(NULL,"list Pre!","Warning",MB_OK);
return NULL;
}
CStu* Temp = m_pCurNode->m_pPre;
m_pCurNode = Temp;
return Temp;
}
//
void CStuDList::InsertNode(CStu* pStu)
{
if(m_pCurNode->m_pNext == NULL)
{
MessageBox(NULL,"CurNode is LastNode","Warning",MB_OK);
return ;
}
CStu* Temp = m_pCurNode->m_pNext;
m_pCurNode->m_pNext = pStu;
pStu->m_pPre = m_pCurNode;
pStu->m_pNext = Temp;
Temp->m_pPre = pStu;
m_pCurNode = pStu;
}
//
void CStuDList::DelCurNode()
{
if(m_pCurNode == m_pFirstNode)
{
CStu* Temp = m_pFirstNode->m_pNext;
Temp->m_pPre = NULL;
m_pFirstNode = Temp;
m_pCurNode = m_pFirstNode;
return ;
}
if(m_pCurNode ==m_pLastNode)
{
CStu* Temp = m_pLastNode->m_pPre;
Temp->m_pNext = NULL;
m_pLastNode = Temp;
m_pCurNode = m_pLastNode;
return ;
}
CStu* fNode = m_pCurNode->m_pPre;
CStu* eNode = m_pCurNode->m_pNext;
fNode->m_pNext = eNode;
eNode->m_pPre = fNode;
m_pCurNode = fNode;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -