⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bagwithreceipts.cpp

📁 BagWithReceipt developed by C++ in linux environment
💻 CPP
字号:
//implement file--BagWithReceipts.cpp//Assignment_01#include "Receipts.h"#include <iostream>using namespace std;typedef int Item;BagWithReceipts::BagWithReceipts(size_t initial_capacity){	data = new Item[initial_capacity];	in_use = new bool[initial_capacity];	used = 0;	capacity = initial_capacity;}BagWithReceipts::BagWithReceipts(const BagWithReceipts &source){	data = source.data;	in_use = source.in_use;	used = source.used;	capacity = source.capacity;}BagWithReceipts::~BagWithReceipts(){	delete [] data;	delete [] in_use;}void BagWithReceipts::resize(size_t new_capacity){	if(new_capacity < capacity)	{		cout<<"New capacity is too less"<<endl;		exit(0);	}		Item *t_data;	t_data = new Item[capacity];	for(int i = 0; i<capacity;i++)	{		t_data[i] = data[i];	}	delete [] data;	data = new Item[new_capacity];	for(int j = 0; j<capacity;j++)	{		data[j] = t_data[j];	}	bool *t_in_use;	t_in_use = new bool[capacity];	for(int k = 0; k<capacity;k++)	{		t_in_use[k] = in_use[k];	}	delete [] in_use;	in_use = new bool[new_capacity];	for(int l = 0; l < capacity;l++)	{		in_use[l] = t_in_use[l];	}	capacity = new_capacity;}int BagWithReceipts::insert(const Item &entry){	data[used] = entry;	used++;	int receipt = used;	return receipt;}void BagWithReceipts::remove(const Item &target){	for(int a = 0; a < used; a++)	{		if(data[a] == target)		{			data[a] = NULL;		}	}}void BagWithReceipts::remove_by_receipt(int receipt){	data[receipt] = NULL;}void BagWithReceipts::operator =(const BagWithReceipts &source){		data = source.data;		in_use = source.in_use;		used = source.used;		capacity = source.capacity;}size_t BagWithReceipts::occurrences(const Item &target) const{	int counter;	for(int b = 0; b < used; b++)	{		if(data[b] == target)		{			counter++;		}	}	return counter;}bool BagWithReceipts::using_receipt(int receipt) const{	if(data[receipt] != NULL)		return true;	return false;}Item BagWithReceipts::retrieve(int receipt) const{	if(using_receipt(receipt) == true)		return data[receipt];	return NULL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -