-
大小: 1.06MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-09-28
- 語(yǔ)言: C/C++
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??
資源簡(jiǎn)介
書(shū)名:數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版) ISBN:9787115379504 作者:嚴(yán)蔚敏 李冬梅 吳偉民

代碼片段和文件信息
#include
#include
#include
#include
using?namespace?std;
#define?OK?1
#define?ERROR?0
#define?OVERFLOW?-2
typedef?int?Status;?//Status?是函數(shù)返回值類型,其值是函數(shù)結(jié)果狀態(tài)代碼。
typedef?int?ElemType;?//ElemType?為可定義的數(shù)據(jù)類型,此設(shè)為int類型
#define?MAXSIZE?100 //順序表可能達(dá)到的最大長(zhǎng)度
struct?Book?{
string?id;//ISBN
string?name;//書(shū)名
double?price;//定價(jià)
};
typedef?struct?{
Book?*elem;?//存儲(chǔ)空間的基地址
int?length;?//當(dāng)前長(zhǎng)度
}?SqList;
Status?InitList_Sq(SqList?&L)?{?//算法2.1?順序表的初始化
//構(gòu)造一個(gè)空的順序表L
L.elem?=?new?Book[MAXSIZE];?//為順序表分配一個(gè)大小為MAXSIZE的數(shù)組空間
if?(!L.elem)
exit(OVERFLOW);?//存儲(chǔ)分配失敗退出
L.length?=?0;?//空表長(zhǎng)度為0
return?OK;
}
Status?GetElem(SqList?L?int?i?Book?&e)?{//算法2.2 順序表的取值
if?(i?1?||?i?>?L.length)
return?ERROR;?//判斷i值是否合理,若不合理,返回ERROR
e?=?L.elem[i?-?1];?//elem[i-1]單元存儲(chǔ)第i個(gè)數(shù)據(jù)元素
return?OK;
}
int?LocateElem_Sq(SqList?L?double?e)?{?//算法2.3?順序表的查找
//順序表的查找
for?(int?i?=?0;?i? if?(L.elem[i].price?==?e)
return?i?+?1;//查找成功,返回序號(hào)i+1
return?0;//查找失敗,返回0
}
Status?ListInsert_Sq(SqList?&L?int?i?Book?e)?{?//算法2.4?順序表的插入
//在順序表L中第i個(gè)位置之前插入新的元素e
//i值的合法范圍是1<=i<=L.length+1
if?((i?1)?||?(i?>?L.length?+?1))
return?ERROR;?//i值不合法
if?(L.length?==?MAXSIZE)
return?ERROR;?//當(dāng)前存儲(chǔ)空間已滿
for?(int?j?=?L.length?-?1;?j?>=?i?-?1;?j--)
L.elem[j?+?1]?=?L.elem[j];?//插入位置及之后的元素后移
L.elem[i?-?1]?=?e;?//將新元素e放入第i個(gè)位置
++L.length;?//表長(zhǎng)增1
return?OK;
}
Status?ListDelete_Sq(SqList?&L?int?i)?{?//算法2.5?順序表的刪除
//在順序表L中刪除第i個(gè)元素,并用e返回其值
//i值的合法范圍是1<=i<=L.length
if?((i?1)?||?(i?>?L.length))
return?ERROR;?//i值不合法
for?(int?j?=?i;?j?<=?L.length;?j++)
L.elem[j?-?1]?=?L.elem[j];?//被刪除元素之后的元素前移
--L.length;?//表長(zhǎng)減1
return?OK;
}
int?main()?{
SqList?L;
int?i?=?0?temp?a?c?choose;
double?price;
Book?e;
string?head_1?head_2?head_3;
cout?<“1.?建立\n“;
cout?<“2.?輸入\n“;
cout?<“3.?取值\n“;
cout?<“4.?查找\n“;
cout?<“5.?插入\n“;
cout?<“6.?刪除\n“;
cout?<“7.?輸出\n“;
cout?<“0.?退出\n\n“;
choose?=?-1;
while?(choose?!=?0)?{
cout?<“請(qǐng)選擇:“;
cin?>>?choose;
switch?(choose)?{
case?1://創(chuàng)建順序表
if?(InitList_Sq(L))
cout?<“成功建立順序表\n\n“;
else
cout?<“順序表建立失敗\n\n“;
break;
case?2:?{//順序表信息輸入
i?=?0;
L.elem?=?new?Book[MAXSIZE];
if?(!L.elem)
exit(OVERFLOW);
L.length?=?0;
fstream?file;
file.open(“book.txt“);
if?(!file)?{
cout?<“錯(cuò)誤!未找到文件!“?< exit(ERROR);
}
file?>>?head_1?>>?head_2?>>?head_3;
while?(!file.eof())?{
file?>>?L.elem[i].id?>>?L.elem[i].name?>>?L.elem[i].price;
i++;
}
cout?<“輸入?book.txt?信息完畢\n\n“;
L.length?=?i;
file.close();
}
break;
case?3://順序表的取值
cout?<“請(qǐng)輸入一個(gè)位置用來(lái)取值:\n“;
cin?>>?i;
temp?=?GetElem(L?i?e);
if?(temp?!=?0)?{
cout?<“查找成功\n“;
cout?<“第“?< cout?< <
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4639??2017-03-10?20:33??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.cpp
?????文件???????4639??2015-03-06?00:28??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.cpp.bak
?????文件???????3415??2017-03-14?21:34??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.dsp
?????文件????????522??2017-03-14?21:39??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.dsw
?????文件??????41984??2017-03-14?21:39??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.ncb
?????文件??????49664??2017-03-14?21:39??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.opt
?????文件????????759??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\2.1-2.5.plg
?????文件????????622??2015-02-28?15:26??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\book.txt
?????文件?????590019??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\2.1-2.5.exe
?????文件?????835340??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\2.1-2.5.ilk
?????文件?????389772??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\2.1-2.5.obj
?????文件????2181752??2017-03-10?20:25??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\2.1-2.5.pch
?????文件????1156096??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\2.1-2.5.pdb
?????文件??????74752??2017-03-14?21:36??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\vc60.idb
?????文件?????118784??2017-03-11?14:03??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\Debug\vc60.pdb
?????文件??????16384??2017-03-10?22:58??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\~VC275A.tmp
?????文件??????????0??2017-03-10?22:58??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.1-2.5\~VC27F7.tmp
?????文件???????5012??2015-03-06?18:08??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.13-2.14\2.13-2.14.cpp
?????文件????????622??2015-02-28?15:26??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.13-2.14\book.txt
?????文件???????1865??2015-03-06?18:28??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(鏈表)\2.15(鏈表).cpp
?????文件??????????8??2015-03-03?13:52??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(鏈表)\ListA.txt
?????文件??????????5??2015-03-03?13:52??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(鏈表)\ListB.txt
?????文件???????1899??2015-03-06?18:13??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(順序表)\2.15(順序表).cpp
?????文件??????????8??2015-03-03?13:52??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(順序表)\ListA.txt
?????文件??????????5??2015-03-03?13:52??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.15(順序表)\ListB.txt
?????文件???????2355??2015-03-06?18:15??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.16\2.16.cpp
?????文件??????????8??2015-03-03?14:23??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.16\ListA.txt
?????文件?????????16??2015-03-03?14:24??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.16\ListB.txt
?????文件???????2186??2015-03-06?18:16??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.17\2.17.cpp
?????文件??????????8??2015-03-03?14:23??數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)-源代碼\數(shù)據(jù)結(jié)構(gòu)第2版-書(shū)中算法(C語(yǔ)言版)\第2章\2.17\ListA.txt
............此處省略115個(gè)文件信息
評(píng)論
共有 條評(píng)論