数据结构问题,请问如何解决,需要代码?

使用顺序存储实现线性表:

第1个回答  2022-04-09

#include "stdafx.h"#include <iostream>LinearTable::LinearTable() :data{ 0 }, length{0} {}bool LinearTable::isEmpty() { return length == 0;}int LinearTable::findPosition(const DataType &item)const { if (length == 0) return 0; for (int i = 0; i < length; i++) { if (item == data[i]) { return i + 1; } } return 0;}bool LinearTable::findItem(int position, DataType *item)const { if (position<1 || position>length) return false; //查找位置有误 *item = data[position - 1]; return true;}bool LinearTable::insertItem(const DataType &item, int position) { if (length == MAX)return false; //线性表满了 if (position<1 || position>length+1) return false;//插入位置错误 if (position <= length) { for (int i = length - 1; i >= 0; i--) { data[i+1] = data[i]; //插入位置后面的数据往后移动 } } data[position - 1] = item; length++; return true;}bool LinearTable::deleteItem(int position, DataType *item) { if (length == 0) return false;//线性表为空 if (position<1 || position>length) return false;//删除位置错误 *item = data[position - 1]; if (position < length) { for (int i = position-1; i <length; i++) { data[i] = data[i+1]; //把后一个元素赋值给前一个元素 } } length--; return true;}void LinearTable::clearList(){ for (int i = 0; i < MAX; i++) { data[i] = 0; } length = 0;}int LinearTable::getLength() { return length;}void LinearTable::display() { using std::cout; using std::endl; for (int i = 0; i < length; i++) { cout << data[i] << "\t"; } cout << endl;}

本回答被提问者采纳
第2个回答  2022-04-06
这个得签合同开发,金币不行
第3个回答  2022-04-07
百度搜: 队列的C语言实现 - 开源中国社区2 哈夫曼编码的代码较长,所以还是你自己去网上搜:哈夫曼编码 - 开源中国社区,或者哈夫曼编码详解就能...
第4个回答  2022-04-08
是晒是有很多办法
相似回答