您的位置:首页 > 健康 > 养生 > 个人网页简历设计_互联网平台名称设计图_aso优化吧_百度发广告需要多少钱

个人网页简历设计_互联网平台名称设计图_aso优化吧_百度发广告需要多少钱

2025/1/10 10:52:54 来源:https://blog.csdn.net/qq_51349750/article/details/145044887  浏览:    关键词:个人网页简历设计_互联网平台名称设计图_aso优化吧_百度发广告需要多少钱
个人网页简历设计_互联网平台名称设计图_aso优化吧_百度发广告需要多少钱

作业:

使用C++手动封装一个顺序表,包含成员指针变量,成员变量N个

#ifndef SEQLIST_H
#define SEQLIST_H#include <iostream>using namespace std;
using datatype = int;
class Seqlist
{
private:datatype * data;int size = 0;int len = 0;
public://无参构造Seqlist();//有参构造Seqlist(int s);//要实现的函数//判空函数bool empty();//判满函数bool full();//添加数据函数bool add(datatype e);//求当前顺序表的实际长度int length();//求当前顺序表的容量int si();//任意位置插入函数bool insert_pos(int pos,datatype e);//任意位置删除函数bool delete_pos(int pos);//访问容器中任意一个元素 atdatatype & at(int index);//君子函数:二倍扩容void expend();//释放顺序表void seqfree();
};#endif // SEQLIST_H
#include "seqlist.h"
//无参构造
Seqlist::Seqlist():data(new datatype[10]),size(10),len(0)
{cout<<"创建了一个大小为10的顺序表\n";
}
//有参构造
Seqlist::Seqlist(int s):data(new datatype[s]),size(s),len(0)
{cout<<"创建了一个大小为"<<s<<"的顺序表\n";
}
//要实现的函数
//判空函数
bool Seqlist::empty()
{if(len == 0){return 1;}return 0;
}
//判满函数
bool Seqlist::full()
{if(len == size){return 1;}return 0;
}
//添加数据函数
bool Seqlist::add(datatype e)
{if(full()){cout<<"数据添加失败\n";return 0;}data[len] = e;len++;cout<<"数据添加成功\n";return 1;
}
//求当前顺序表的实际长度
int Seqlist::length()
{return len;
}
//求当前顺序表的容量
int Seqlist::si()
{return size;
}
//任意位置插入函数
bool Seqlist::insert_pos(int pos,datatype e)
{if(full() || pos<0 || pos>size){cout<<"数据插入失败\n";return 0;}for(int i=len;i>pos;i--){data[i] = data[i-1];}data[pos] = e;len++;cout<<"数据插入成功\n";return 1;
}
//任意位置删除函数
bool Seqlist::delete_pos(int pos)
{if(empty() || pos<0 || pos>size){cout<<"数据删除失败\n";return 0;}for(int i=pos;i<len;i++){data[i] = data[i+1];}len--;cout<<"数据删除成功\n";return 1;
}
//访问容器中任意一个元素 at
datatype & Seqlist::at(int index)
{if(empty() || index<0 || index>size){cout<<"数据访问失败\n";return data[0];}cout<<data[index];return data[index];
}
//君子函数:二倍扩容
void Seqlist::expend()
{if(empty()){cout<<"顺序表扩容失败\n";return;}datatype * newdata = new datatype[size*2];for(int i=0;i<len;i++){newdata[i] = data[i];}size *= 2;delete []data;data = newdata;cout<<"顺序表二倍扩容成功\n";
}
//释放顺序表
void Seqlist::seqfree()
{delete []data;data = NULL;cout<<"顺序表释放成功\n";
}
#include "seqlist.h"int main()
{Seqlist stu(50);stu.add(89);stu.add(98);stu.add(94);stu.add(73);stu.insert_pos(2,78);stu.delete_pos(1);stu.insert_pos(0,66);cout<<"当前顺序表长度为"<<stu.length()<<endl;cout<<"当前顺序表值分别为:\n";for(int i=0;i<stu.length();i++){stu.at(i);cout<<'\t';}cout<<endl;cout<<"当前顺序表容量为"<<stu.si()<<endl;stu.expend();cout<<"当前顺序表容量为"<<stu.si()<<endl;cout<<"当前顺序表值分别为:\n";for(int i=0;i<stu.length();i++){stu.at(i);cout<<'\t';}cout<<endl;stu.seqfree();return 0;
}

 思维导图:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com