- 1、本文档共108页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]数据结构C源代码
1、顺序表
Seqlist.h
const int DefaultSize=100;
template typename Type class SeqList{
public:
SeqList(int sz=DefaultSize)
:m_nmaxsize(sz),m_ncurrentsize(-1){
if(sz0){
m_elements=new Type[m_nmaxsize];
}
}
~SeqList(){
delete[] m_elements;
}
int Length() const{ //get the length
return m_ncurrentsize+1;
}
int Find(Type x) const; //find the position of x
int IsElement(Type x) const; //is it in the list
int Insert(Type x,int i); //insert data
int Remove(Type x); //delete data
int IsEmpty(){
return m_ncurrentsize==-1;
}
int IsFull(){
return m_ncurrentsize==m_nmaxsize-1;
}
Type Get(int i){ //get the ith data
return i0||im_ncurrentsize?(coutcant find the elementendl,0):m_elements[i];
}
void Print();
private:
Type *m_elements;
const int m_nmaxsize;
int m_ncurrentsize;
};
template typename Type int SeqListType::Find(Type x) const{
for(int i=0;im_ncurrentsize;i++)
if(m_elements[i]==x)
return i;
coutcant find the element you want to findendl;
return -1;
}
template typename Type int SeqListType::IsElement(Type x) const{
if(Find(x)==-1)
return 0;
return 1;
}
template typename Type int SeqListType::Insert(Type x, int i){
if(i0||im_ncurrentsize+1||m_ncurrentsize==m_nmaxsize-1){
coutthe operate is illegalendl;
return 0;
}
m_ncurrentsize++;
for(int j=m_ncurrentsize;ji;j--){
m_elements[j]=m_elements[j-1];
}
m_elements[i]=x;
return 1;
}
template typename Type int SeqListType::Remove(Type x){
int size=m_ncurrentsize;
for(int i=0;im_ncurrentsize;){
if(m_elements[i]==x){
for(int j=i;jm_ncurrentsize;j++){
m_elements[j]=m_elements[j+1];
}
m_ncurrentsize--;
continue;
}
i++;
}
if(size==m_ncurrentsize){
coutcant find the element you want to removeendl;
return 0;
}
return 1;
}
template typename Type void SeqListType::Print(){
for(int i=0;i=m_ncurrentsize;i++)
couti+1:\tm_elements[i]endl;
coutendlendl;
}
Test.cpp
#include iostream
#include SeqList.h
using namespace std;
int main()
{
您可能关注的文档
- [工学]数字信号处理总复习.ppt
- [工学]数子电子技术基础 哈工大教材科.doc
- [工学]数字信号处理课件2-4.ppt
- [工学]数字信号处理电子教案-第四章1.pdf
- [工学]数字信号处理第6章答案.ppt
- [工学]数字信号处理课件2.ppt
- [工学]数字信号处理课程设计报告.doc
- [工学]数字图像处理-图像分割-讲义PPT.ppt
- [工学]数字图像 第6章.ppt
- [工学]数字图像处理图像编码.ppt
- 建银国际证券-港股熊牛切换走向深化:新质生产力助力打开港股长期上升空间.pdf
- 国金证券-创业板50择时跟踪:2月进一步提升创业板50看涨比例.pdf
- 信用|关注存单和城投下沉的机会.pdf
- 政策半月观:三大方向进一步受重视.pdf
- 固定收益专题报告:建筑行业信用风险及投资价值全梳理.pdf
- AI行业跟踪报告第58期:华勤技术,AI云、端全线卡位,全面受益于AI落地.pdf
- 高频选股因子:大单因子表现继续反弹,AI增强组合持续回撤.pdf
- 投资策略研究*专题报告:科技引领“中国资产”价值重估进度加快.pdf
- 电子行业:高阶智驾加速普及,催动硬件快速放量.pdf
- 浙商证券-北汽蓝谷-600733-北汽蓝谷深度报告:联袂小马打造无人出租,携手华为进军全民智驾.pdf
文档评论(0)