欢迎来到天天文库
浏览记录
ID:40247160
大小:621.50 KB
页数:69页
时间:2019-07-29
《数据结构算法——Visual C++ 6.0程序集 第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构算法VisualC++6.0程序集侯识忠等编著中国水利水电出版社第三章数组、串和广义表3、0变长参数表的应用//变长参数表的应用VLArgument.cpp#include#include#includedoubleaverage(int,...);voidmain(){doublew=36.5,x=21.5,y=1.9,z=10.1;cout<<"VLArgument.cpp运行结果:";cout<2、ios::showpoint)<3、ion(1)<<"w="<4、rt(ap,i);for(intj=1;j<=i;j++)total+=va_arg(ap,double);va_end(ap);returntotal/i;}3、1建立一维、二维数组的类定义和实现//建立一维,二维数组的类定义intarray.hclassIntArray1{intsize;//数组个数int*data;//数组指针voidinit(intn);IntArray1():size(0),data(0){}friendclassIntArray2;public://构造函数IntArray1(intn){init(n);}//析构函数~IntArray1(){d5、elete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值int&operator[](inti);//返回数组长度intsize1()const{returnsize;}//重新定义数组voidReArray(intsi);};classIntArray2{intsize;IntArray1*data;public://构造函数IntArray2(int,int);//析构函数~IntArray2(){delete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值IntArray1&operator[](inti);//返回二维数组6、行数intsize1()const{returnsize;}//返回二维数组列数intsize2()const{returndata->size1();}};//intarray.cpp//建立一维,二维数组的类实现//数组下标从1开始,引用下标作下标越界检查#include#include#include"intarray.h"voidIntArray1::init(intn){if(n<1){cout<<"Errordimensiondescription";exit(1);}size=n;data=newint[size];7、}int&IntArray1::operator[](inti){if(i<18、9、i>size){//下标越界检查cout<10、1);}intn=(si<=size)?si:size;int*souceP=data;int*destP=newArray;while(n--)*destP++=*souceP++;delete[]data;data=newArray;size=si;}IntArray2::IntArray2(intm,intn){if(m<111、12、n<1){cout<<"Errordimensiondescription";exit(1);}size=m;data=newIntArray1[size];for(int
2、ios::showpoint)<3、ion(1)<<"w="<4、rt(ap,i);for(intj=1;j<=i;j++)total+=va_arg(ap,double);va_end(ap);returntotal/i;}3、1建立一维、二维数组的类定义和实现//建立一维,二维数组的类定义intarray.hclassIntArray1{intsize;//数组个数int*data;//数组指针voidinit(intn);IntArray1():size(0),data(0){}friendclassIntArray2;public://构造函数IntArray1(intn){init(n);}//析构函数~IntArray1(){d5、elete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值int&operator[](inti);//返回数组长度intsize1()const{returnsize;}//重新定义数组voidReArray(intsi);};classIntArray2{intsize;IntArray1*data;public://构造函数IntArray2(int,int);//析构函数~IntArray2(){delete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值IntArray1&operator[](inti);//返回二维数组6、行数intsize1()const{returnsize;}//返回二维数组列数intsize2()const{returndata->size1();}};//intarray.cpp//建立一维,二维数组的类实现//数组下标从1开始,引用下标作下标越界检查#include#include#include"intarray.h"voidIntArray1::init(intn){if(n<1){cout<<"Errordimensiondescription";exit(1);}size=n;data=newint[size];7、}int&IntArray1::operator[](inti){if(i<18、9、i>size){//下标越界检查cout<10、1);}intn=(si<=size)?si:size;int*souceP=data;int*destP=newArray;while(n--)*destP++=*souceP++;delete[]data;data=newArray;size=si;}IntArray2::IntArray2(intm,intn){if(m<111、12、n<1){cout<<"Errordimensiondescription";exit(1);}size=m;data=newIntArray1[size];for(int
3、ion(1)<<"w="<4、rt(ap,i);for(intj=1;j<=i;j++)total+=va_arg(ap,double);va_end(ap);returntotal/i;}3、1建立一维、二维数组的类定义和实现//建立一维,二维数组的类定义intarray.hclassIntArray1{intsize;//数组个数int*data;//数组指针voidinit(intn);IntArray1():size(0),data(0){}friendclassIntArray2;public://构造函数IntArray1(intn){init(n);}//析构函数~IntArray1(){d5、elete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值int&operator[](inti);//返回数组长度intsize1()const{returnsize;}//重新定义数组voidReArray(intsi);};classIntArray2{intsize;IntArray1*data;public://构造函数IntArray2(int,int);//析构函数~IntArray2(){delete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值IntArray1&operator[](inti);//返回二维数组6、行数intsize1()const{returnsize;}//返回二维数组列数intsize2()const{returndata->size1();}};//intarray.cpp//建立一维,二维数组的类实现//数组下标从1开始,引用下标作下标越界检查#include#include#include"intarray.h"voidIntArray1::init(intn){if(n<1){cout<<"Errordimensiondescription";exit(1);}size=n;data=newint[size];7、}int&IntArray1::operator[](inti){if(i<18、9、i>size){//下标越界检查cout<10、1);}intn=(si<=size)?si:size;int*souceP=data;int*destP=newArray;while(n--)*destP++=*souceP++;delete[]data;data=newArray;size=si;}IntArray2::IntArray2(intm,intn){if(m<111、12、n<1){cout<<"Errordimensiondescription";exit(1);}size=m;data=newIntArray1[size];for(int
4、rt(ap,i);for(intj=1;j<=i;j++)total+=va_arg(ap,double);va_end(ap);returntotal/i;}3、1建立一维、二维数组的类定义和实现//建立一维,二维数组的类定义intarray.hclassIntArray1{intsize;//数组个数int*data;//数组指针voidinit(intn);IntArray1():size(0),data(0){}friendclassIntArray2;public://构造函数IntArray1(intn){init(n);}//析构函数~IntArray1(){d
5、elete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值int&operator[](inti);//返回数组长度intsize1()const{returnsize;}//重新定义数组voidReArray(intsi);};classIntArray2{intsize;IntArray1*data;public://构造函数IntArray2(int,int);//析构函数~IntArray2(){delete[]data;}//下标操作符重载//定义为引用以保证既可取值也可赋值IntArray1&operator[](inti);//返回二维数组
6、行数intsize1()const{returnsize;}//返回二维数组列数intsize2()const{returndata->size1();}};//intarray.cpp//建立一维,二维数组的类实现//数组下标从1开始,引用下标作下标越界检查#include#include#include"intarray.h"voidIntArray1::init(intn){if(n<1){cout<<"Errordimensiondescription";exit(1);}size=n;data=newint[size];
7、}int&IntArray1::operator[](inti){if(i<1
8、
9、i>size){//下标越界检查cout<10、1);}intn=(si<=size)?si:size;int*souceP=data;int*destP=newArray;while(n--)*destP++=*souceP++;delete[]data;data=newArray;size=si;}IntArray2::IntArray2(intm,intn){if(m<111、12、n<1){cout<<"Errordimensiondescription";exit(1);}size=m;data=newIntArray1[size];for(int
10、1);}intn=(si<=size)?si:size;int*souceP=data;int*destP=newArray;while(n--)*destP++=*souceP++;delete[]data;data=newArray;size=si;}IntArray2::IntArray2(intm,intn){if(m<1
11、
12、n<1){cout<<"Errordimensiondescription";exit(1);}size=m;data=newIntArray1[size];for(int
此文档下载收益归作者所有