平时作业汇总.docx

上传人:b****8 文档编号:28085621 上传时间:2023-07-08 格式:DOCX 页数:23 大小:17.84KB
下载 相关 举报
平时作业汇总.docx_第1页
第1页 / 共23页
平时作业汇总.docx_第2页
第2页 / 共23页
平时作业汇总.docx_第3页
第3页 / 共23页
平时作业汇总.docx_第4页
第4页 / 共23页
平时作业汇总.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

平时作业汇总.docx

《平时作业汇总.docx》由会员分享,可在线阅读,更多相关《平时作业汇总.docx(23页珍藏版)》请在冰豆网上搜索。

平时作业汇总.docx

平时作业汇总

简单类

#include

usingnamespacestd;

classPoint

{

public:

Point(intx,inty){

a=y;

b=x;

}

voiddisplay(void);

private:

inta,b;

};

voidPoint:

:

display(void){

cout<

cout<

}

intmain(void)

{

Pointstd1(5,10);

std1.display();

Pointstd2(29,83);

std2.display();

return0;

}

 

运算符重载

#include

usingnamespacestd;

classcomplex{

public:

complex(void){

real=0;

imag=0;

}

complex(doublerpart,doubleipart){

real=rpart;

imag=ipart;

}

complexoperator+(complex&com){

complextemp;

temp.real=real+com.real;

temp.imag=imag+com.imag;

returntemp;

}

voiddisplay(void){

cout<

}

private:

intreal;

intimag;

};

intmain(void){

complexc1(1,4),c2(2,3),c3(0,0);

c3=c1+c2;

cout<<"c1+c2=";

c3.display();

return0;

}

 

容器版成绩管理

#include

#include

#include

usingnamespacestd;

classstudent{

public:

charname[20];

intnum;

intenglish;

intmath;

intcomputer;

intsummark;

student(){

cin>>name>>num>>english>>math>>computer;

summark=english+math+computer;

}

voiddisplay(){

cout<

}

};

intmain(void)

{

inti,j,a[5]={0},place[5]={0,1,2,3,4},t,m;

studentx[4];

for(i=0;i<4;i++){

a[i+1]=x[i].summark;

}

vectorv(a,a+5);

for(i=1;i<=4;i++){

j=i-1;

v[0]=v[i];

while(v[j]

v[j+1]=v[j];

t=place[j+1];

place[j+1]=place[j];

place[j]=t;

j--;

}

v[j+1]=v[0];

m=place[j+1];

place[j+1]=place[i];

place[i]=m;

}

cout<<"排名"<<""<<"姓名"<<""<<"学号"<<""<<"英语"<<""<<"数学"<<""<<"电脑"<<""<<"总分"<

for(i=1;i<=4;i++){

cout<

cout<

}

return0;

}

 

从文本读取字符串

#include

#include

usingnamespacestd;

intmain(void){

stringarr;

fstreamfile;

intn=0;

file.open("data.txt");

while(getline(file,arr)){//等价chararr[100];file>>arr;

cout<

n++;

}

cout<

file.close();

return0;

}

 

从文件逐个读取字母

#include

#include

usingnamespacestd;

intmain(void){

fstreamfile;

intn=0,i;

chararr[100];

file.open("data.txt");

while(!

file.eof()){

file>>arr[n];

n++;

}

for(i=0;i

cout<

}

cout<

file.close();

return0;

}

 

hash类的基本用法

#include

#include"d_hash.h"

#include"d_hashf.h"

usingnamespacestd;

intmain()

{

inta[]={4,4,6,7,8,9},size=sizeof(a)/sizeof(int);

typedefhashhs;

hsh(7);

hs:

:

iteratoriter;

pair

:

iterator,bool>p;

intitem,i;

for(i=0;i

p=h.insert(a[i]);

if(p.second==false)

cout<<"duplicatevalue"<

}

cout<<"Hashtablesize"<

for(i=0;i<2;i++){

cout<<"enterdelete";

cin>>item;

if((iter=h.find(item))==h.end())//注意括号

{cout<<"itemnotfind"<

else

h.erase(iter);

}

 

cout<<"enterdelete";

cin>>item;

if((iter=h.find(item))==h.end())

{cout<<"itemnotfind"<

else

h.erase(iter);

 

for(iter=h.begin();iter!

=h.end();iter++){

cout<<*iter<<"";

}

return0;

}

 

递归调用

#include

intf(intn);

usingnamespacestd;

intmain()

{

intn;

cin>>n;

cout<<"n位二进制数没有两个1相邻共有:

"<

return0;

}

intf(intn){

if(n==1)

return2;

elseif(n==2)

return3;

else

returnf(n-1)+f(n-2);

}

 

map的基本用法

#include

#include

#include

usingnamespacestd;

intmain()

{

strings[]={"score","map","arrar","set","multmap","string"};

intsize=sizeof(s)/sizeof(string);

mapm;

pairp1(s[0],5);

pairp2(s[1],3);

pairp3(s[2],5);

pairp4(s[3],3);

pairp5(s[4],7);

pairp6(s[5],6);

m.insert(p1);

m.insert(p2);

m.insert(p2);

m.insert(p3);

m.insert(p4);

m.insert(p5);

 

m.erase("set");

map:

:

iteratoriter=m.begin(),te=m.find("score");

while(iter!

=m.end()){

cout<<(*iter).first<<"\t"<<(*iter).second<

iter++;

}

cout<

cout<<(*te).first<<""<<(*te).second;

return0;

}

 

quicksort

#include

#include

#include"d_util.h"

#include"d_sort.h"

#include"d_random.h"

usingnamespacestd;

 

intmain()

{

inti;

randomNumberran;

vectorv;

for(i=0;i<10;i++){

v.push_back(ran.random(100));

}

quicksort(v,0,v.size());

writeVector(v);

return0;

}

 

把学生信息输到文件中

#include

#include

usingnamespacestd;

 

structstudent{

intnum;

charname[10];

intenglish;

intmath;

intcomputer;

};

intmain(void){

inti;

structstudentstd[10]={

{1001,"王",98,97,96},

{1002,"李",87,97,98},

{1003,"赵",98,95,78},

{1004,"林",89,88,98},

{1005,"张",88,87,78},

{1006,"周",98,98,87},

{1007,"刘",76,98,87},

{1008,"钱",78,98,98},

{1009,"孙",98,95,98},

{1010,"郑",98,98,97}

};

ofstreamfile;

file.open("student.txt",ios:

:

out);

if(!

file){

cout<<"error";

}

file<<"学号"<<"姓名"<<"英语"<<"数学"<<"电脑"<

for(i=0;i<10;i++){

file<

}

file.close();

return0;

}

 

链表

1

#include

#include"d_node.h"

#include"d_nodel.h"

intmain(void){

node*p,*q,*r,*nextnode;

p=newnode('A');

q=newnode('X');

r=newnode('M');

r->next=p;

q->next=r;

writeLinkedList(q,"");

/*nextnode=q->next;

q->next=nextnode->next;

deletenextnode;*/

q->next=r->next;

deleter;//和屏蔽处等效

cout<<"eraseafterlistis:

";

while(q!

=NULL){

cout<nodeValue<<"";

q=q->next;

}

deletep,q,r;

return0;

}

 

2

#include

#include"d_node.h"

#include"d_nodel.h"

usingnamespacestd;

intmain(void){

node*front=NULL,*p,*q,*newnode,*nextnode;

intarr[]={80,45,10,25,50},i,size,t;

size=sizeof(arr)/sizeof(int);

for(i=0;i

newnode=newnode(arr[i],front);

front=newnode;

}

front=newnode(30,front);

writeLinkedList(front,"->");

p=front->next->next->next;

nextnode=p->next;

p->next=nextnode->next;

deletenextnode;

cout<<"listoferaseafteris:

";

writeLinkedList(front,"->");

p=front;

while(p->next!

=NULL){

p=p->next;

}

cout<nodeValue<

p=front;

while(p->next!

=NULL){

q=p->next;

t=p->nodeValue+q->nodeValue;

p->nodeValue=t;

p=q;

}

cout<<"cycleafterof";

writeLinkedList(front,"->");

return0;

}

 

双向链表

1

#include

#include"d_dnode.h"

#include"d_nodel.h"

usingnamespacestd;

intmain(void)

{

dnode*header=newdnode,*curr,*newnode;

newnode=newdnode

(2);

newnode->next=curr;

header->next->prev=curr;

newnode->prev=header;

header->next=newnode;

newnode=newdnode(5);

newnode->prev=header;

header->next->prev=curr;

newnode->next=curr;

header->prev=curr;

writeDLinkedList(header);

return0;

}

 

2

#include

#include"d_dnode.h"

#include"d_nodel.h"

usingnamespacestd;

template

voideraserange(dnode*first,dnode*last){

dnode*x,*y,*z;

x=first;

y=last;

z=x;

first->prev->next=last;

last->prev=first->prev;

while(z!

=y){

z=z->next;

deletex;

x=z;

}

}

intmain(void){

dnode*header=newdnode,*first,*last;

first=header;

inti,a,b;

for(i=0;i<10;i++){

insert(header,i+1);

}

cout<<"erasebeforethelistis:

"<

writeDLinkedList(header,"->");

cout<

";

cin>>a>>b;

for(i=0;i

first=first->next;

}

last=first;

for(i=0;i

last=last->next;

}

eraserange(first,last);

cout<

cout<<"eraseafterthethelistis:

"<

writeDLinkedList(header,"->");

return0;

}

 

堆的基本用法

#include

#include

#include"d_heap.h"

#include"d_util.h"

#include"d_sort.h"

usingnamespacestd;

intmain()

{

inta[]={3,3,5,6,7,6,5},i,size=sizeof(a)/sizeof(int);

vectorvA,vB;

for(i=0;i

vA.push_back(a[i]);

vB.push_back(a[i]);

/*pushHeap(vA,vA.size(),greater());

pushHeap(vB,vB.size(),less());*/

heapSort(vA,greater());//和屏蔽处等效

heapSort(vB,less());

}

cout<<"greaterorderis:

";

for(i=0;i

cout<

}

cout<

cout<<"lessorderis:

";

for(i=0;i

cout<

}

return0;

}

 

toodel.h里各函数的用法

#include

#include"d_tnode.h"

#include"d_tnodel.h"

usingnamespacestd;

intmain(void){

intx=0;

tnode*root,*root1;

root=buildTree

(1);

cout<<"oringaltree(Teee1):

"<

displayTree(root,1);

cout<<"inorderscan:

";

inorderOutput(root);

cout<

cout<<"inlevelorderscan:

";

levelorderOutput(root);

cout<

countLeaf(root,x);

cout<<"numberofleafnodeis:

"<

cout<

cout<<"numberofdepthnodeis:

"<

cout<

root1=copyTree(root);

cout<<"copyoftreeis(Tree1):

"<

displayTree(root1,1);

deleteTree(root);

deleteTree(root1);

return0;

}

 

返回iterator

#include

#include

#include

#include

usingnamespacestd;

template

typenamelist:

:

iteratormaxIter(list&lis,intx){

typenamelist:

:

iteratoriter=lis.begin();

Ttemp;

inti=0,j=0,k,l;

for(l=0;l

iter++;

}

temp=*iter;

for(;iter!

=lis.end();iter++,i++){

if(*iter>temp){

temp=*iter;

j=i;

}

}

iter++;

for(k=0;k

iter++;

}

returniter;

}

template

voidwritelist(list&lis){

typenamelist:

:

iteratoriter2;

for(iter2=lis.begin();iter2!

=lis.end();iter2++){

cout<<*iter2<<"";

}

}

intmain(void){

inta[10],i;

for(i=0;i<10;i++){

a[i]=rand()%25;

}

listlis(a,a+10);

list:

:

iteratoriter1,iter2;

for(i=0;i

iter1=maxIter(lis,i);

lis.push_front(*iter1);

lis.erase(iter1);

}

writelist(lis);

return0;

}

 

集合的比较

1

#include

#include

#include"d_setops.h"

usingnamespacestd;

intmain(void){

inta[]={1,5,6,7,8,4,3},b[]={3,4,6,1,9,7,7,7};

intsize1=sizeof(a)/sizeof(int),size2=sizeo

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

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1