91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

文本編輯器 源代碼 MFC VC 課程設計 數據結構與算法

資源截圖

代碼片段和文件信息

//?Data.cpp:?implementation?of?the?CData?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“TextEditor.h“
#include?“Data.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

//對數據進行初始化,建立頭結點,初始化鏈表
CData::CData()
{
m_Head?=?new?Node;
m_Head->prior?=?m_Head->next?=?NULL;
m_Head->number?=?0;
m_Head->pos?=?0;
m_CurrentLine?=?m_Head;
InsertLine();
m_srSearchRecord.line?=?m_srSearchRecord.pos?=?0;
}

//刪除鏈表,釋放內存
CData::~CData()
{
pNode?p?r;
p?=?m_Head;
while?(p?!=?NULL)
{
r?=?p;
p?=?p->next;
delete?r;
}
}

//從指定起始位置開始查找指定字符串,返回查找到的行的指針,將查找到的地址保存到函數參數position中
pNode?CData::Search(int?startline?int?startchar?char?*value?int?&position)
{
pNode?p;

//從指定行開始查找
p?=?GetLine(startline);

//對指定行的結點數據進行查找,若找到返回,否則進行下一步
if?(p?!=?NULL)
{
if?((position?=?BF(p->data+startchar?value))?!=?-1)
{
if?(m_srSearchRecord.line?>?m_Head->number?&&?position?>?m_srSearchRecord.pos)
return?NULL;
position?+=?startchar;
return?p;
}
else?
{
p?=?p->next;
m_srSearchRecord.line++;
}
}
//遍歷鏈表查找,若找到返回,否則進行下一步
while?(p?!=?NULL?&&?m_srSearchRecord.line?<=?m_Head->number)
{
if?((position?=?BF(p->data?value))?!=?-1)
return?p;
else?
{
p?=?p->next;
m_srSearchRecord.line++;
}
}
//通過查找記錄的行數來判斷是否已遍歷完一遍鏈表,若未遍歷完則將指針p指向頭結點
if?(m_srSearchRecord.line?<=?m_Head->number)
{
p?=?m_Head->next;
m_srSearchRecord.line++;
}
//繼續遍歷鏈表進行查找,若查找到數據則返回指針,否則直到查找記錄的行數達到總行數為止,然后進行下一步
while?(m_srSearchRecord.line?<=?m_Head->number)
{
if?((position?=?BF(p->data?value))?!=?-1)
return?p;
else?
{
p?=?p->next;
m_srSearchRecord.line++;
}
}
//對最后一行的結束位置之前進行查找,若查找到返回指針,否則返回NULL
if?(m_srSearchRecord.line?>?m_Head->number)
{
if?((position?=?BF(p->data?value))?!=?-1?&&?position?<=?m_srSearchRecord.pos)
return?p;
}
return?NULL;
}

//插入新行,返回新行指針
pNode?CData::InsertLine()
{
pNode?p;

if?(m_CurrentLine?==?NULL)
return?NULL;

//建立新節點,插入到鏈表中
pNode?line?=?new?Node;
line->next?=?m_CurrentLine->next;
line->prior?=?m_CurrentLine;
m_CurrentLine->next?=?line;
if?(line->next?!=?NULL)
line->next->prior?=?line;
//對結點數據初始化
line->data[0]?=?‘\n‘;
line->data[1]?=?‘\0‘;
line->number?=?0;
line->pos?=?m_CurrentLine->pos?+?1;

//更新由于插入新行而導致的其他數據變化
m_Head->number++;
p?=?line->next;
while?(p?!=?NULL)
{
p->pos++;
p?=?p->next;
}

m_CurrentLine?=?line;

return?m_CurrentLine;
}

//刪除當前行,返回前一行的指針
pNode?CData::DeleteLine()
{
if?(m_CurrentLine?==?NULL)
return?NULL;
if?(m_CurrentLine->pos?==?1)
return?m_CurrentLine;

pNode?r;
//保存前一行指針
pNode?p?=?m_CurrentLine->prior;

//

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-12-06?15:00??文本編輯器?MFC?VC?數據結構?課程設計\
?????目錄???????????0??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\
?????文件????????8774??2011-03-20?20:08??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Data.cpp
?????文件????????1873??2011-03-20?20:08??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Data.h
?????目錄???????????0??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\
?????文件???????16833??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\Data.obj
?????文件????????6046??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\Data.sbr
?????文件???????19446??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\MainFrm.obj
?????文件????????3610??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\MainFrm.sbr
?????文件??????106181??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\StdAfx.obj
?????文件?????1375136??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\StdAfx.sbr
?????文件??????147582??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.exe
?????文件??????369416??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.ilk
?????文件???????23737??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.obj
?????文件?????6879584??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.pch
?????文件??????377856??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.pdb
?????文件????????6708??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.res
?????文件????????8509??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditor.sbr
?????文件???????15518??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditorDoc.obj
?????文件????????3380??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditorDoc.sbr
?????文件???????79680??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditorView.obj
?????文件???????21504??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\TextEditorView.sbr
?????文件??????214016??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\vc60.idb
?????文件??????364544??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\Debug\vc60.pdb
?????文件????????2131??2011-03-14?07:08??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\MainFrm.cpp
?????文件????????1553??2011-03-13?23:40??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\MainFrm.h
?????文件????????4088??2011-03-03?15:30??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\ReadMe.txt
?????文件?????????212??2011-03-03?15:30??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\StdAfx.cpp
?????文件????????1054??2011-03-03?15:30??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\StdAfx.h
?????文件???????43752??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\TextEditor.aps
?????文件????????2000??2011-12-06?15:01??文本編輯器?MFC?VC?數據結構?課程設計\TextEditor\TextEditor.clw
............此處省略19個文件信息

評論

共有 條評論