📄 data.cpp
字号:
// Data.cpp: implementation of the CData class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "lt.h"
#include "Data.h"
#include <math.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CData::CData()
{
m_data=0;
// m_pBefore=NULL;
m_pNext=NULL;
}
CData::~CData()
{
}
#ifdef _DEBUG
void CData::AssertValid() const
{
CObject::AssertValid();
}
void CData::Dump(CDumpContext &dc) const
{
CObject::Dump(dc);
}
#endif
CData* CData::Sequence(CData *pHead)
{
if(!pHead) return NULL;
CData* pHeader=pHead;
CData *pH=NULL;
CData* pTop=NULL;
CData* pTemp=NULL;
CData* p=NULL;
int nNum=1;
double store=0.0;
pTemp=pHeader;
while(pTemp->m_pNext!=NULL)
{
nNum++;
pTemp=pTemp->m_pNext;
}
pTemp=NULL;
for(int i=0;i<nNum;i++)
{
pTemp=pHeader;
pTop=pHeader;
for(int j=0;j<nNum-i;j++)
{
if(pTemp!=NULL)
{
if(pTop->m_data>pTemp->m_data)
pTop=pTemp;
pTemp=pTemp->m_pNext;
}
}
pHeader=Clip(pHead,pTop);
pHead=pHeader;
if(p==NULL)
{
pH=p=pTop;
pH->m_pNext=NULL;
}
else
{
p->m_pNext=pTop;
p=pTop;
p->m_pNext=NULL;
}
}
// for(i=0,pTemp=pH;i<nNum;i++)
// pTemp=pTemp->m_pNext;
// pTemp->m_pNext=NULL;
return pH;
}
void CData::Clear(CData *p)
{
p->m_data=0.0;
// p->m_pBefore=NULL;
p->m_pNext=NULL;
}
CData* CData::Clip(CData *pHead, CData *pPart)
{
CData *pUp=NULL;
CData *p=NULL;
if(!pHead) return NULL;
pUp=pHead;
if(Match(pUp,pPart))
{
pHead=pUp->m_pNext;
return pHead;
}
p=pUp->m_pNext;
while(p!=NULL)
{
if(Match(p,pPart))
{
pUp->m_pNext=p->m_pNext;
return pHead;
}
pUp=p;
p=p->m_pNext;
}
return pHead;
}
BOOL CData::Match(CData *d1, CData *d2)
{
if((d1->m_data==d2->m_data)
&&(d1->m_pNext==d2->m_pNext))
return TRUE;
else
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -