数据结构、算法与应用第5章答案1-10

1

1) false

2) 4

3) a,c,给出错误信息

4)0,2,错误信息

5){b,c,d},{a,b,d}.{a,b,c}

6){e,a,b,c,d}

2找不到公式5-1

3:

4

		if (listSize == arrayLength) {
			changeLengthlD(element, arrayLength, 2 * arrayLength);
			arrayLength *= 2;
		}
5:
	template<typename T> void trimeTosize() {
		if (listSize>1) {
			int i = listSize;
		}
		else {
			int i = 1;
			changeLength1D(element, 0, i);
			arrayLength = i;  //修改数组容量值
		}
	}
6:
	//使线性表的大小为指定的大小。
	 void setSize() {
		if (listSize > 50) {
			T* temp = new T [50];
			copy(element, element + 50, temp);
			int p = arrayLength;
			delete [] element;
			element = temp;
			arrayLength = p;
		}
	}
7:
	 //重载运算符[]
	  T&  operator[](int theIndex) {
		 return (element[theIndex]);
	 }

8-10:

重载操作符==,!=,<,>:

//重载运算符==,!=,>,<.
	 bool friend operator ==(const arraylist<T>& y, const arraylist<T>& x) {
		if (x.listSize != y.listSize) {
			return 0;
		}
		else {
			for (int i = 0; i != x.listSize; ++i) {
				if (x.element[i] != y.element[i]) {
					return 0;
				}
			}
		}
		return 1;
	}
	 bool friend  operator !=(const arraylist<T>& y, const arraylist<T>& x) {
		if (x.listSize != y.listSize) {
			return 1;
		}
		else {
			for (int i = 0; i != x.listSize; ++i) {
				if (x.element[i] != y.element[i]) {
					return 1;
				}
			}
		}
		return 0;
	}
	 bool friend operator <(const arraylist<T>& x, const arraylist<T>& y)
	{
		int j = min(x.listSize, y.listSize);
		for (int i = 0; i != j; ++i) {
			if (x.element[i] != y.element[i]) {
				if (x.element[i]>y.element[i]) {
					return 0;
				}
				else
					return 1;
			}
		}
		if (x.listSize<y.listSize) {
			return 1;
		}
		else
			return 0;
	}
	 bool friend  operator >(const arraylist<T>& y, const arraylist<T>& x)
	{
		int j = min(x.listSize, y.listSize);
		for (int i = 0; i != j; ++i) {
			if (x.element[i] != y.element[i]) {
				if (x.element[i]>y.element[i]) {
					return 0;
				}
				else
					return 1;
			}
		}
		if (x.listSize<y.listSize) {
			return 1;
		}
		else
			return 0;
	}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值