c++考试资料Word下载.docx

上传人:b****1 文档编号:3838771 上传时间:2023-05-02 格式:DOCX 页数:27 大小:22.74KB
下载 相关 举报
c++考试资料Word下载.docx_第1页
第1页 / 共27页
c++考试资料Word下载.docx_第2页
第2页 / 共27页
c++考试资料Word下载.docx_第3页
第3页 / 共27页
c++考试资料Word下载.docx_第4页
第4页 / 共27页
c++考试资料Word下载.docx_第5页
第5页 / 共27页
c++考试资料Word下载.docx_第6页
第6页 / 共27页
c++考试资料Word下载.docx_第7页
第7页 / 共27页
c++考试资料Word下载.docx_第8页
第8页 / 共27页
c++考试资料Word下载.docx_第9页
第9页 / 共27页
c++考试资料Word下载.docx_第10页
第10页 / 共27页
c++考试资料Word下载.docx_第11页
第11页 / 共27页
c++考试资料Word下载.docx_第12页
第12页 / 共27页
c++考试资料Word下载.docx_第13页
第13页 / 共27页
c++考试资料Word下载.docx_第14页
第14页 / 共27页
c++考试资料Word下载.docx_第15页
第15页 / 共27页
c++考试资料Word下载.docx_第16页
第16页 / 共27页
c++考试资料Word下载.docx_第17页
第17页 / 共27页
c++考试资料Word下载.docx_第18页
第18页 / 共27页
c++考试资料Word下载.docx_第19页
第19页 / 共27页
c++考试资料Word下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c++考试资料Word下载.docx

《c++考试资料Word下载.docx》由会员分享,可在线阅读,更多相关《c++考试资料Word下载.docx(27页珍藏版)》请在冰点文库上搜索。

c++考试资料Word下载.docx

l->

size=0;

}

intListSize(constSeqList*l)//求长。

读取元素个数

return(l->

size);

intListEmpty(constSeqList*l)//判空。

判断顺序表是否空

size==0);

intListFull(constSeqList*l)//判满。

判断顺序表是否满

size==MaxSeqSize);

TypeGetData(constSeqList*l,intid)//取值。

if(id<

0||id>

l->

size-1)

SeqError("

GetData:

Indexisoutofrange!

"

);

data[id]);

intFind(constSeqList*l,Typeitem)//查找。

for(inti=0;

i<

size;

i++)

if(l->

data[i]==item)

return(i);

return(-1);

voidReplace(SeqList*l,Typeitem,intid)//替换。

Update:

data[id]=item;

voidInsert(SeqList*l,Typeitem,intid)//定点插入。

if(l->

size==MaxSeqSize)

Insert:

SeqListisfull!

size)

for(inti=l->

size-1;

i>

=id;

i--)

l->

data[i+1]=l->

data[i];

size++;

voidInsertRear(SeqList*l,Typeitem)//尾插。

InsertRear:

data[l->

size]=item;

voidErase(SeqList*l,intid)//定点删除。

size==0)

Delete:

anemptylist!

Indexisoutofrange!

for(inti=id+1;

data[i-1]=l->

size--;

voidClearList(SeqList*l)//清表。

voidSeqError(constchar*c)//错误信息处理函数

{

printf("

%s"

c);

exit

(1);

}=

Main.cpp

typedefcharType;

#include"

seqlist.h"

voidmain(void)

SeqListL;

SetList(&

L);

InsertRear(&

L,'

a'

InsertRear(&

d'

Insert(&

b'

1);

inti=Find(&

if(i!

=-1)

Replace(&

c'

i);

Erase(&

L,0);

intn=ListSize(&

for(i=0;

n;

printf("

%c\t"

GetData(&

L,i));

ClearList(&

seqlist_class.h

#ifndefSEQLIST_CLASS_H

#defineSEQLIST_CLASS_H

iostream.h>

constintMaxSeqSize=100;

classSeqList

voidError(char*c)const{cout<

<

c;

}//错误信息报告

public:

SeqList(void){size=0;

}//缺省构造函数

intSize(void)const{return(size);

}//取元素个数

boolEmpty(void)const{return(size==0);

}//判空

boolFull(void)const{return(size==MaxSeqSize);

}//判满

constType&

GetData(intid)const;

//取值

intFind(constType&

item)const;

//查找

voidReplace(constType&

item,intid);

//修改

voidInsert(constType&

//定位插入

voidInsertRear(constType&

item);

//尾插

voidErase(intid);

//定位删除

voidClear(void){size=0;

}//清表

seqlist_class

这几项都在声明里

constType&

SeqList:

:

GetData(intid)const//取值

Error("

Idoutofrange!

return(data[id]);

intSeqList:

Find(constType&

item)const//查找

if(data[i]==item)

voidSeqList:

Replace(constType&

item,intid)//修改

data[id]=item;

Insert(constType&

item,intid)//定位插入

if(size==MaxSeqSize)

SeqListfull!

for(inti=size-1;

data[i+1]=data[i];

size++;

InsertRear(constType&

item)//后插

data[size]=item;

Erase(intid)//定位删除

if(size==0)

Idoutofrange!

data[i-1]=data[i];

size--;

这两项都在声明里

L.InsertRear('

L.InsertRear('

L.Insert('

inti=L.Find('

L.Replace('

L.Erase(0);

intn=L.Size();

cout<

L.GetData(i)<

'

\t'

;

cout<

endl;

L.Clear();

str.h

#ifndefSTR_H

#defineSTR_H

string.h>

structString

char*str;

voidSetString(String*s,constchar*c);

//构造

voidFreeString(String*s);

//析构

voidStrAssign(String*s,constString*cs);

//将结构串cs赋值给结构串s

voidCStrAssign(String*s,constchar*c);

//将串c赋值给结构串s

char*Char(String*s);

//取C串指针

voidStrConcat(constString*s,constString*cs,String*w);

//结构串s和cs连接为结构串w

intStrCompare(constString*s,constString*cs);

//两个结构串比较

voidSubString(constString*s,String*cs,intid,intcount);

//从结构串s的下标id开始连续取count个字符组成结构串cs

voidStrInsert(String*s,constString*cs,intid);

//在结构串s的下标id插入结构串cs

voidStrErase(String*s,intid,intcount);

//从结构串s的下标id开始连续删除count个字符

voidGetStr(String*s);

//串输入

voidPutStr(constString*s);

//串输出

intFind(constString*s,charch,intstart);

//从start开始查找ch

charStrGetData(constString*s,intid);

//返回下标id处的字符

intStrLength(constString*s);

//求串长

intStrEmpty(constString*s);

//判串空

voidClearString(String*s);

//清为空串

voidStrError(constchar*c);

//错误信息报告

str.cpp

str.h"

voidSetString(String*s,constchar*c)//构造

s->

size=strlen(c);

str=(char*)malloc(s->

size+1);

if(s->

str==NULL)

StrError("

SetString:

overflow!

strcpy(s->

str,c);

voidFreeString(String*s)//析构

free(s->

str);

voidGetStr(String*s)//串输入

charc[256];

gets(c);

CStrAssign(s,c);

voidPutStr(constString*s)//串输出

puts(s->

voidStrAssign(String*s,constString*cs)

//将结构串cs赋值给结构串s

size!

=cs->

{

free(s->

s->

size=cs->

if(s->

StrError("

StrAssign:

}

str,cs->

voidCStrAssign(String*s,constchar*c)

//将串c赋值给结构串s

intn=strlen(c);

=n)

size=n;

CStrAssign:

char*Char(String*s)//取C串指针

return(s->

voidStrConcat(constString*s,constString*cs,String*w)//结构串s和cs连接为结构串w

free(w->

w->

size=s->

size+cs->

str=(char*)malloc(w->

if(w->

StrConcat:

strcpy(w->

str,s->

strcat(w->

intStrCompare(constString*s,constString*cs)//两个结构串比较

return(strcmp(s->

str));

对应c++中声明里的关系符运算

voidSubString(constString*s,String*cs,intid,intcount)//从结构串s的下标id开始连续取count个字符组成结构串cs

0)

SubString:

idillegal!

if(id>

s->

size-1||count<

=0)

count=0;

intleft=s->

size-id;

if(left>

0&

&

count>

left)

count=left;

free(cs->

cs->

size=count;

str=(char*)malloc(cs->

if(cs->

char*p=cs->

str;

char*q=s->

str+id;

for(inti=1;

=count;

*p++=*q++;

*p='

\0'

voidStrInsert(String*s,constString*cs,intid)//在结构串s的下标id插入结构串cs

StrInsert:

char*tmp=s->

intn=s->

str=(char*)malloc(n+1);

str,tmp);

free(tmp);

char*p=s->

str+s->

str+n;

size-id+1;

//需要向后移动的字符包含结束符

=left;

*q--=*p--;

p=s->

q=cs->

while(*q!

='

voidStrErase(String*s,intid,intcount)//从结构串s的下标id开始连续删除count个字符

return;

if(count>

str+id+count;

size=strlen(s->

str=(char*)malloc(s->

StrDelete:

intStrLength(constString*s)//求串长与

{c++

}明

intStrEmpty(constString*s)//判串空对

{应

}

intFind(constString*s,charch,intstart)//从start开始查找ch

inti;

char*p;

if(start>

return(-1);

if(start<

start=0;

for(p=s->

str+start,i=start;

*p!

++p,++i)

if(*p==ch)

charStrGetData(constString*s,intid)//返回下标id处的字符

StrGetData:

Idillegal!

return(*(s->

str+id));

voidClearString(String*s)//清为空串

str=(char*)malloc(sizeof(char));

ClearString:

*(s->

str)='

voidStrError(constchar*c)//错误信息报告

StringW,H,S,A;

SetString(&

S,"

A,"

W,"

work"

H,"

hard"

StrConcat(&

W,&

H,&

A);

PutStr(&

CStrAssign(&

study"

StrInsert(&

A,&

S,4);

puts(Char(&

A));

StrErase(&

A,0,4);

%s\n"

Char(&

FreeString(&

S);

W);

H);

stringclass.h

#ifndefSTRINGCLASS_H

#defineSTRINGCLASS_H

#inc

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2