如何定义动态数组

seayuwen2628 2003-08-28 03:42:55
怎样定义动态数组,int,ansistring型的
...全文
27 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinglinger 2003-08-28
  • 打赏
  • 举报
回复
如何选择呢
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
该用哪个呢
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
jinting_gao() :其实没那么麻烦的,我只是不知道元素的个数,元素都是int型,但是需要将数组中相同元素去掉,也就是数组中的元素都是不同的,而且还要和另外一个数组比较,去两个数组的交集
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button2Click(TObject *Sender)
{ int a=5;
for(int i=0;i<10;i++)
{
bool iExit=false;
for(int j=0;j<x.size();j++)
{
if(x[j]==a)

iExit=true;
}
if(!iExit)
x.insert(x.end(),a);

ShowMessage(IntToStr(x[i]));
}
ShowMessage(IntToStr(x.size()));
}

这里只给x赋了一个值,怎么ShowMessage(IntToStr(x[i]));,在i>1的时候有些莫名其妙的值呢
jinting_gao 2003-08-28
  • 打赏
  • 举报
回复
list相当于链表
vector相当于动态数组
deque相当于队列

适用的情形:
vector: 适用于较小的数据类型,其效率较高。提供下标操作,顺序存储,随机访问效率高。但任意位置的插入、删除操作效率很低。
list: 适于大型的、复杂的类型。非顺序存储,适于任意位置插入、删除操作频繁的情况。随机访问的支持不好。
Deque:和vector类似,顺序存储。但是他支持高效的在其首部插入、删除元素。

选择准则:
1、如果我们需要随机访问一个容器,则vector 比 list好。
2、如果我们已知要存储的元素个数,vector比list好。
3、如果我们需要的不只是在容器两端插入、删除元素,则list比vector好
4、除非我们需要再容器首部插入、删除元素,否则vector比deque要好。
5、如果既需要随机访问,又需要在中间插入删除,则要进行折衷考虑。由主要操作来决定。

seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
to keiy:
我没有学过数据结构,所以看起这些来好困难,我只想知道基本的用法
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
我也有本c++的书,怎么没有
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
怎么办呀,看不懂怎样用
柯本 2003-08-28
  • 打赏
  • 举报
回复
to dongyangzong:
http://expert.csdn.net/Expert/topic/2132/2132430.xml?temp=.4741022
to seayuwen2628:
我用
vector <int> x;
x.push_back(10);
x.push_back(101);
...
看一下C++关于vector,list,deque的help吧,有例子,很多C++的书也有介绍
因为它们都是C++的标准库类
柯本 2003-08-28
  • 打赏
  • 举报
回复
vector,deque,list 都是stl的类,使用方法基本相同
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
为什么不用deque或者list
seayuwen2628 2003-08-28
  • 打赏
  • 举报
回复
int 用vector
#include <vector>
using namespace std;
vector <int> x;

在.cpp里这样定义么,然后用的时候x[i]就可以了是么,如果我想要x[i]和另外一个数比较,如果i循环了3次,x就有三个元素,否则为零个?像是TStringList
dongyangzong 2003-08-28
  • 打赏
  • 举报
回复
keiy:TList与vector,list相比,各有什么优缺点?
ljianq 2003-08-28
  • 打赏
  • 举报
回复
使用DynamicArray,具体看帮助吧,很容易的。
柯本 2003-08-28
  • 打赏
  • 举报
回复
int 用vector
#include <vector>
using namespace std;
vector <int> x;

AnsiString 用TStringList
TStringList *p;
p = new TStringList();
...
delete p;
余下的参考bcb help

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧