代码问题| Vector内数据处理

题目是使用条件运算符将成绩划分为high pass/pass/low pass/fail四种,
成绩用一个容器存储,Finalgrade用另一个容器存储,最后显示。

我使用迭代器遍历容器内数据,但是没有输出,请问问题出在哪?非常感谢!

代码如下:

    vector<int> scores = {60,54,70,86,90,64,98};
    auto p = scores.begin();
    vector<string> finalgrade = {};
    auto q = finalgrade.begin();

    while (q != finalgrade.end() && p != scores.end())
    {
        *q = (*p > 90) ? "high pass"
            : ((*p <= 90) && (*p>75)) ? "pass"
            : (*p < 60) ? "fail" : "low pass";
        ++p;
        cout << *q++ << endl;
    }

3个回答

finalgrade vector 没有初始化大小,导致后面访问的时候不是按照你预期的方式去遍历的。

std::vector<int> scores = {60,54,70,86,90,64,98};
auto p = scores.begin();

** std::vectorstd::string finalgrade(scores.size());**

auto q = finalgrade.begin();

while (q != finalgrade.end() && p != scores.end())
{
    *q = (*p > 90) ? "high pass"
        : ((*p <= 90) && (*p>75)) ? "pass"
        : (*p < 60) ? "fail" : "low pass";
    ++p;
    std::cout << *q++ << std::endl;
}

但是vector finalgrade = {};
auto q = finalgrade.begin(); 你的这串代码中 finalgrade本来就是空的 下面while循环直接判断 是否到finalgrade尾部 肯定进不去下面循环

while(q != finalgrade.end && p != scores.end()) 把第一个判断条件去掉吧

po4kee
po4kee 这样会出现assertion failure: Expression: can't dereference value-initialized vector iterator
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vector内对象的释放问题
[code=C/C++]rntypedefe struct _Arnrn ....;rnA;rnrnvector AS;rnrnA a1 = new A;rnA a2 = new A;rnrnvector.push_back(a1);rnvector.push_back(a2);rn[/code]rnrn如果我用完了这个vector,怎么释放他,还有他里面的对象a1和a2?
vector 问题代码很简单
rn#includern#includernusing namespace std;rnint main()rn string line;rn getline(cin,line);rn vector vec;rn for(int i=0;i!=line.size();i++)rn vec.push_back(line[i]);rn rn for(vector::iterator iter=vec.begin();iter!=vec.end();iter++)rn while(*(iter-1)=='('&&*(iter+1)==')')rn vec.erase(iter+1);rn vec.erase(iter-1);rn iter--;rn rn rn for(vector::iterator iter=vec.begin();iter!=vec.end();iter++)rn cout<<*iter;rn rn cout<rn目的是为了把(((A)))这类没用的括号去掉,上面的代码可以实现rn我不理解第二个for循环 第一次循环 iter=vec.begin() 访问*(iter-1)为什么不越界?rn我开始为了避免越界时候写的是for(vector::iter=vec.begin()+1;iter!=vec.end()-1;iter++)却好像越界了rn求牛人解决下 新手求照顾
读取文件内数据到vector
#include rn#include rn#include rn#include rnusing namespace std; rnrnstruct StockList rn rnchar MarketCode[4]; rnchar StockCode[8]; rnchar Stockname[16]; rn; rnrnostream& operator < <( ostream& os, const StockList& sl) rn rnreturn os.write(sl.MarketCode,4).write(sl.StockCode,8).write(sl.Stockname,16); rn rnrnint _tmain(int argc, _TCHAR* argv[]) rn rnStockList sl; rnvector v; rnsprintf_s(sl.MarketCode, 4, "%s", "SH"); rnsprintf_s(sl.StockCode, 8, "%s", "600000"); rnsprintf_s(sl.Stockname, 16, "%s", "浦发银行"); rnv.push_back(sl); rnsprintf_s(sl.MarketCode, 4, "%s", "SH"); rnsprintf_s(sl.StockCode, 8, "%s", "600001"); rnsprintf_s(sl.Stockname, 16, "%s", "邯郸钢铁"); rnv.push_back(sl); rnsprintf_s(sl.MarketCode, 4, "%s", "SH"); rnsprintf_s(sl.StockCode, 8, "%s", "600003"); rnsprintf_s(sl.Stockname, 16, "%s", "ST东北高"); rnv.push_back(sl); rnrnofstream ofile("D:\\v.txt", ios_base::binary|ios_base::trunc); rncopy(v.begin(),v.end(),ostream_iterator (ofile)); rnrnreturn 0; rn rnhttp://topic.csdn.net/u/20090319/14/720948b8-473d-4812-9a93-c49e4bee1792.html?1106356008rn已经实现了的vector写入文件rn--------------------------------------------------------------------------------------------------rn请问如何让读取文件到vector呢?rn文件一样 数据结构一样!
vector内嵌套Vector进行排序
struct temprnrn vector vtRad;rn int i;rn;rnrnvector vtTemp;rn想把vtTemp先按照i进行排序,当i相同时,利用vtRad的大小进行排序。
关于txt文档内数据处理的问题
小弟为新手,求程序代码,文档内容如下:rn 1 4.352 0.0000 0.00000 0.00000 C1 rn 2 4.408 0.0000 0.00000 0.00000 C2 rn 3 4.536 0.0000 0.00000 0.00000 C3 rn 4 5.524 BB 0.0383 235.75322 0.25749 ? rn 5 5.864 BB 0.0354 28.66769 0.03131 C4 rn 6 7.213 VB 0.0429 22.96136 0.02508 ? rn 7 8.110 BB 0.0500 106.95503 0.11682 C5 rn 8 9.140 BV 0.0567 56.15977 0.06134 ? rn 9 9.263 VB 0.0599 34.60424 0.03779 ? rn 10 10.701 BB 0.0678 171.11954 0.18690 C6 rn。。。。。。。。。。。rn 248 75.646 BB 0.1492 895.98071 0.97858 C32 rn 249 79.501 BB 0.1898 787.47095 0.86007 C33 rn 250 84.157 BB 0.2253 622.69305 0.68010 C34 rn 251 89.786 BB 0.2777 513.08264 0.56039 C35 rn 252 96.564 BB 0.3330 427.16815 0.46655 C36 rn 253 104.812 BB 0.3538 302.93588 0.33086 C37 rn希望程序能 实现 对数据中第四列中若干数据求和,赋值给最后一列的Cn(n=1,2...37) C1等于对应行的第四列,C4等于C3向下开始各行第四列之和,C5等于C4下开始各行第四列之和 ,依此类推。最后输出一个文档,内容为C1,C2...C37,及对应的求和值。rn跪求大神帮帮小弟,不胜感激
关于vector内元素操作的一个问题
这种rn[code=c]rnvector objVec;rnobjVec.push_back(Obj()); // 不是objVec.push_back(new Obj());rnObj *pObj = &objVec.back();rn//do sth with pObjrnpObj->assign();rn...rn[/code]rnrn和这种rn[code=c]rnvecot objVec;rnObj myObj;rn//do sth with ObjrnmyObj.assign();rn...rnobjVec.push_back(myObj);rn[/code]rnrn1.差别会不会很大?rnrn2.因为向容器里push_back元素会造成元素的拷贝操作 所以想到第一种做法rn第一种做法会不会很危险?
互换vector内数据,谢谢!
[code=C/C++] rn for(int j =k;j类型的数据,请问可以在vector内部直接像数组一样进行数据的交换吗?
c++学习(4)vector,文件数据处理
1,vector //注意容易混淆的问题:各种括号 vector&amp;lt;int&amp;gt; v1(10);//v1有10个int元素,每个都初始化为0 vector&amp;lt;int&amp;gt; v2{10}; //v2有1个元素,值是10 vector&amp;lt;int&amp;gt; v3[10]; //v3是有10个元素的数组,相当于二维数组。 ...
gps数据处理代码
gps软件接收的完整代码和数据后处理方法,非常难得
c++代码,数据处理
用C++语言设计的一个同学录管理系统;它可以使用于电话薄管理、名片簿管理等
Python数据处理.pdf+代码
本书采用基于项目的方法,介绍用Python完成数据获取、数据清洗、数据探索、数据呈现、数据规模化和自动化的过程。主要内容包括:Python基础知识,如何从CSV、Excel、XML、JSON和PDF文件中提取数据,如何获取与存储数据,各种数据清洗与分析技术,数据可视化方法,如何从网站和API中提取数据。
请教一段数据处理的代码
我想写一段处理文本/数据格式的程序,目的是在一个文件中提取数据,存成另一种格式:rn(没发现哪能传附件,我把要处理的文件传百度网盘了:https://pan.baidu.com/s/1nqT24zYhYywzbq-IvbzGCw)rn rn原来的格式是这样的,INCREMENT 1 SUMMARY是一组结果,INCREMENT 2 SUMMARY是另一组结果,一直到INCREMENT 400 SUMMARY或者500,不确定。rn[img=https://img-bbs.csdn.net/upload/201803/22/1521683255_333527.jpg][/img]rnrnrn然后只想分别提取每组结果里面的GU1、GU2、GU3、GU4……对应的数值,这个GU?也不一定有几个,可能是18个,也可能是8个或者28个,但是他们每9个就换一行。rn想把他们按顺序读出来存成另一个文件,格式是:(用EXCEL打开是这样的,好像很整齐)rn [img=https://img-bbs.csdn.net/upload/201803/22/1521683274_238189.jpg][/img]rnrnrn就是每组结果不管是有18个还是28个都放在一行里,然后第二组的结果放第二行,以此类推,只要这些数值,不要其他信息了。最关键的是,用文本方式打开之后,由于有正有负,像这样参差不齐还不行。rn [img=https://img-bbs.csdn.net/upload/201803/22/1521683290_112320.jpg][/img]rnrnrn得在正数前门加空格,顶替“-”号的位置,保证数据是对其的,才能满足使用要求。rn [img=https://img-bbs.csdn.net/upload/201803/22/1521683297_843158.jpg][/img]rnrnrn而我现在只会:rn1.首先打开一个文件*.dat或者*.txt等,我用OpenDialog把它打开了,目前的想法是先全部读入进来Memo.Lines.Add(sl.Strings),但如果文件有两万多行的话,这么做是不是执行效率很低?可以有其他的做法吗?rn2.读进Memo后搜索INCREMENT 1 SUMMARY,返回字段所在的行,加上14就是要读数据的那行,开始逐个读数据,如果结果超过9个(具体有几个结果如果能自动判断最好,如果不行的话可以通过外面的表单输入),就再加个4接着读,知道读完。rn3.本来我想用字符截断的方式来读Copy( Memo.Lines.Strings[0], *, * );可是发现因为有正有负,所以有的是隔了10位,有的隔了11位,所以我就不知道该怎么度了,用空格判断?还是说根本就不该这么处理,而是有其他表格控件可以很方便的做这个事?rn4.即使顺利的读进来了,想输出前面所说的满足要求的格式,我更是不知道该怎么写了,我编程完全是业余的!!!rnrn请各位前辈指导一下这个过程或者函数的代码该怎么写啊!rn如果可以用PYTHON或者TCL脚本实现也行。我会用DELPHI表单里填上变量然后生成脚本。rnrn
Python数据处理(含代码)
Python数据处理,包括代码,学习Python的童鞋可以下载看看哈,PDF+代码
数据处理有用代码:
通常做机器学习问题时,需要准备训练数据,通常会把样本数据和标签存放于2个list中,比如train_x = [x1,x2,…,xN][x1,x2,…,xN],train_y = [y1,y2,…,yN][y1,y2,…,yN]. 有时候是需要将数据shuffle后再做处理的(比如,批量梯度下降算法,需要数据是打乱的)。这时就需要以相同的顺序打乱两个list,那么在python中如何实现呢?可以通过...
高性能网络数据处理代码
海量数据文件读取,分析,并进行无锁分发,业务层进行分析,展示出统计结果,每分钟处理5000万数据。
EPOC IDL 数据处理代码
HDF file conversion, reprojection, and georeferencing utility for data sets 支持MODIS Aqua, MODIS Terra, SeaWiFS, CZCS, OCTS, MERIS, and VIIRS.
java数据处理代码
一个用于进行整体积极性数据处理的事例,里面包括数据挖掘,多线程。
ain 数据处理 源程序代码
功能全,内有全部源代码,可修改调试,。经测试
Python数据处理代码
Python数据处理代码 -- Python数据处理 Python数据处理代码 -- Python数据处理 Python数据处理代码 -- Python数据处理
人脸特征点数据处理代码
输入: 人脸数据集原始的68个特征点坐标的pts文件 输出: 从中提取的7个点(边框左上角、边框右下角、左眼中心、右眼中心、鼻头、左边嘴角、右边嘴角)的坐标txt文件
vector< vector >的赋值问题
int main(int argc, char* argv[])rnrn int order[9] = 4,8,3,7,1,0,2,5,6;rn vector< vector > matrix;rn int row;rn int col;rn int i;rn int L = 3;rn int PN = 4;rn int ordn;rnrn matrix = vector< vector > (L);rn for( i = 0; i < L; i++)rn matrix.push_back( vector
vector< vector >的问题
vector< vector > via; //我怎么才能添加元素以及访问元素呢?
vector对象使用while循环如何结束输入?内附代码!~~
[code=C/C++]rn#include "iostream"rn#include "vector"rnusing namespace std;rnint main()rnrn vector ivec;rn int ival;rn cout<<"Enter numbers(Ctrl+z to end):"<>ival)rn ivec.push_back(ival);rn if(ivec.size()==0)rn rn cout<<"No element?!"<::size_type ix=0;ix
二维数组的问题:vector< vector >
代码如下:rnint start;rn.............rnvector< vector > v1;rnv1[0].push_back(start);     //调试发现,错误就出在这里rnrn这是为什么,怎么编译时刻没提示错误rn
数据处理的问题
现在一个表里有N多条数据,例如 rnrnid content rn1 1,2,3,4,6,9,10,11 rn2 1,3,7,9,11,19 rn3, 1,2,4,8,20 rnrnrn我要求把含有11的数据都给去掉,最后变成 rnrnid content rn1 1,2,3,4,6,9,10 rn2 1,3,7,9,19 rn3, 1,2,4,8,20 rnrnrn这样用SQL语句怎么写??
一个电子计分板的数据处理代码问题。
import java.awt.*;rnimport java.awt.event.*;rnrn//import java.util.Calendar;rnrnpublic class Board extends Frame rn public static void main(String[] args) rn new Board().launchFrame();rn rnrn TextArea ta1 = new TextArea(2, 20); // 在容器P1中添加两个文本框以显示相关计分信息。rnrn TextArea ta2 = new TextArea(20, 2);rnrn Label lb1 = new Label("1");rnrn TextField tf1 = new TextField("", wl);rnrn Label lb2 = new Label("2");rnrn TextField tf2 = new TextField("", wl);rnrn Label lb3 = new Label("3");rnrn TextField tf3 = new TextField("", wl);rnrn Label lb4 = new Label("4");rnrn TextField tf4 = new TextField("", wl);rnrn Label lb5 = new Label("5");rnrn TextField tf5 = new TextField("", wl);rnrn public static final int wl = 3; // 设置文本输入框的宽度。(P2中的TextField)rnrn public void launchFrame() // launchFrame方法,画主界面rn this.setTitle("第2个小项目--电子计分板");rnrn this.setLayout(new BorderLayout()); // 设置主界面为BorderLayout布局。rn setLocation(400, 240);rn setSize(640, 480);rn setBackground(Color.orange);rnrn Panel p1 = new Panel(new GridLayout(1, 2)); // 设置一个容器为GridLayout布局(P1)。rn this.add(p1, BorderLayout.CENTER); // 将容器添加到CENTER位置。rnrn p1.add(ta1);rn p1.add(ta2);rnrn Panel p2 = new Panel(new FlowLayout()); // 调协一个窗口为FlowLayou布局,用以放置信息输入框(P2)。rn this.add(p2, BorderLayout.SOUTH); // 将容器添加到SOUTH位置。rnrn Label lb = new Label("请输入分数");rn p2.add(lb);rn ; // 添加标签及文本输入框,以输入所需数据。rn p2.add(lb1);rn // TextField tf1 = new TextField("", wl);rn p2.add(tf1);rnrn p2.add(lb2);rn p2.add(tf2);rnrn p2.add(lb3);rn p2.add(tf3);rnrn p2.add(lb4);rn p2.add(tf4);rnrn p2.add(lb5);rn p2.add(tf5);rn /*rn * Label lb6 = new Label("6"); p2.add(lb6); TextField tf6 = newrn * TextField("", wl); p2.add(tf6);rn * rn * Label lb7 = new Label("7"); p2.add(lb7); TextField tf7 = newrn * TextField("", wl); p2.add(tf7);rn * rn * Label lb8 = new Label("8"); p2.add(lb8); TextField tf8 = newrn * TextField("", wl); p2.add(tf8);rn * rn * Label lb9 = new Label("9"); p2.add(lb9); TextField tf9 = newrn * TextField("", wl); p2.add(tf9);rn * rn * Label lb10 = new Label("10"); p2.add(lb10); TextField tf10 = newrn * TextField("", wl); p2.add(tf10);rn */rnrn Button bt1 = new Button("提交信息");rn p2.add(bt1);rn Button bt2 = new Button("全部清除");rn p2.add(bt2);rnrn Label label = new Label("欧米加计分板 精彩超乎期待", Label.CENTER);rn this.add(label, BorderLayout.NORTH); // 添加标签到SOUTH位置。rn // this.add(arg0);rnrn // 在EAST中显示日期和时间。rn Label label1 = new Label("本计分板具有丰富的功能", Label.CENTER); // 在EAST位置中添加文本框。rn this.add(label1, BorderLayout.EAST);rnrn // 在EAST中显示日期和时间。rn Label label2 = new Label("严振的世界很精彩", Label.CENTER); // 在EAST位置中添加文本框。rn this.add(label2, BorderLayout.WEST);rnrn setVisible(true);rnrn this.addWindowListener(new WindowAdapter() rn public void windowClosing(WindowEvent e) rn System.exit(0);rn rn );rnrn bt1.addActionListener(new BoardListener()); // 给按钮添加监听器。rn bt2.addActionListener(new BoardListener());rn rnrn private class BoardListener implements ActionListener rn public void actionPerformed(ActionEvent e) rn String s1 = tf1.getText();rn float f1 = Float.parseFloat(s1);rnrn String s2 = tf2.getText();rn float f2 = Float.parseFloat(s2);rnrn String s3 = tf3.getText();rn float f3 = Float.parseFloat(s3);rnrn String s4 = tf4.getText();rn float f4 = Float.parseFloat(s4);rnrn String s5 = tf5.getText();rn float f5 = Float.parseFloat(s5);rnrn // 设置"提交信息"的事件(bt1)rn if (e.getActionCommand() == "提交信息") rn ta1.append("分数一" + s1);rn ta1.append("分数二" + s2);rn ta1.append("分数三" + s3);rn ta1.append("分数四" + s4);rn ta1.append("分数五" + s5);rn ta1.append("平均分数是:" + (f1 + f2 + f3 + f4 + f5) / 5);rn rnrn if (e.getActionCommand() == "全部清除") // 设置"全部清除"(bt2)的事件rn tf1.setText("");rn tf2.setText("");rn tf3.setText("");rn tf4.setText("");rn tf5.setText("");rn ta1.setText("");rn rnrn rn rnrnrnrn listener事件中想将输入的数据去掉一个最高分和一个最低分,在TEXT1中显示出来。同时再输入一组数据时,在TEXT2中进行排序。rnrn之前遇到的问题有:rn1.TEXT1中数据输入中排成了一行,如何实现多行显示?rn
vector赋值问题,vector存放vector
定义一个info类,n为一个输入的值nvector> v:nv.assign(n,vector(n,ifo)):n怎么呢会出错呢
类内初始化,范围for语句,vector的vector,容器的cbegin和cend
类内初始化 在c++11新标准里,我们可以为类的数据成员提供一个类内初始值。这就是所谓的in—class。当创建对象时,用类初始化值初始化对应的数据成员。 需要注意的是,规定不能用()对类内数据成员初始化。 范围for语句 for(declaration:expression) statement vector的vector 以前:vector  > a// 必须有空
stl代码vector讨论?
往vector里添加对象时,会动态申请一个数组(默认大小,不同版本不一样),除了容纳当前要存储的对象,还会多出点空间,继续往里加对象,会用当前空闲空间,如果当前空间也满了,就会申请原来2倍的空间,把原来的对象复制过去,然后释放原来的内存,要讨论的问题就在对象复制方法.rnrn先说sgi stl的做法,申请内存用malloc,然后用placement new初始化对象,复制原对象到新申请的内存,形式是new (ptr) Type(const Type& rhs), Type是对象类型。new Type(const Type& rhs)先申请内存,然后调用构造函数,new (ptr) Type(const Type& rhs)不同的是不申请内存,直接用传入的内存ptr,构造对象,这里调用的是复制构造函数。挨个复制完对象后,对原来每个对象调用Type::~()析构函数,然后用free释放掉原来的内存,vector的析构函数负责最后调用每个对象的析构函数,然后释放内存。malloc和free有的版本用operator new和operator delete代替。rnrn现在要讨论的问题是,这个复制构造函数和析构函数的调用是不是多余的。为什么不能用memcopy复制。rn比如这个对象是string,里面有个char *ptr指针,这个指针指向申请的内存,memcpy按位把原来的指针复制过去,按理说也可以使用的呀,因为用memcpy复制后,我没有调用析构函数,用free释放内存,也不会调用析构函数,这个指针应该还在,不会出什么问题。不知道为什么stl里不用memcpyrn希望大家发言.rn
函数指针的问题 内附代码
class Objrnrnpublic:rn void ShowData(int data)rn rn std::cout << data << std::endl;rn rn;rntypedef void (Obj::*fp)(int data); rnvoid CallFunc(fp func, Obj* obj)rnrn obj->*func(10);rn rnrnint main(char* args[], size_t sz)rn rn rn Obj o;rn CallFunc(&Obj::ShowData, &o);rn getchar();rn return 0;rnrn///////////////////////////////////////////////rnobj->*func(10);此行报错如下rn项不会计算为接受 1 个参数的函数rn////////////////////////////////////////////rn想请教什么原因。rn
代码删除文件夹内图片问题
System.IO.FileInfo file = new System.IO.FileInfo("~/imgsc/fzxm03.jpg");rn file.Delete();rnrnrn路径那里写这个不行,还必须写E:/Mynetkb/imgsc/fzxm03.jpg 我想按照我上面的那种格式写应该怎么写路径啊?rn没有多少分
ADO的问题,代码内附
if ((pRecordset->ADOEOF) == (pRecordset->BOF))rnrn AfxMessageBox("NULL-1");rn return ;rnrnrnpRecordset->MoveFirst();rnAfxMessageBox("ok-1");rnrnif ((pRecordset->ADOEOF) == (pRecordset->BOF))rnrn AfxMessageBox("NULL-2");rn return ;rnrnAfxMessageBox("ok-2");rnrnrn执行的结果是rnOK-1rnNULL-2rnrn也就是说,recordset执行了movefirst以后就变成了空集???!!!rn是不是我的用法不对呢?
关于框架内代码的问题
请问通过什么方法可以获取(查看)框架页面内网页的HTML代码?
菜鸟 构造函数 内的代码问题。
情况一:rnclass CourseScoreIndexerrn rn private ArrayList arrCourseScore;rnrn public CourseScoreIndexer()rn rn arrCourseScore = new ArrayList();rn rn rnrn情况二:rnclass CourseScoreIndexerrn rn private ArrayList arrCourseScore = new ArrayList();rnrn public CourseScoreIndexer()rn rn rn rn rnrnrn在主函数中创建CourseScoreIndexer stu = new CourseScoreIndexer()时,这两种情况是一样的么?rnrn把代码放在构造函数里,跟把代码放在构造函数外面,有什么区别?rnrn在创建类的实例的时候,类中代码是怎么工作的啊? 只是构造函数里的代码执行,还是类中的代码全部执行?rnrn以上两种情况如果都对的话,哪种更好一点?rn
Vector实现代码
利用C++模板完成容器Vector类的简单功能实现,如迭代器等
Android代码-Vector Pinball
Vector Pinball Vector Pinball is a pinball game for Android devices. It is released under version 3 of the GPL; see COPYING for the license text. The graphics are deliberately simple; currently everything is drawn with lines and circles. The focus is on gameplay and accurate physics. It uses the libgdx Java wrapper for the Box2D physics engine. Thanks to Peter Drescher for the sound effects; see his article on creating them. The GitHub project page is: github.com/dozingcat/Vector-Pinball/. See d
C++代码vector实现
码vector实现
实现Vector的代码....
4)请编写一个类似vector向量的数据结构。要求实现msdn上面一下成员函数:rnAssign/at/back/begin/capacity/clear/empty/end/erase/front/insert/max_size/pop_back/push_back/rbegin/rend/resize/reserve/size/swaprnrn这是我在笔试时遇到的,我没有全部实现,而且我还抄了STL源码剖析中的代码..rn现在我想全部实现它,但是空间配置器很麻烦,STL源码剖析书中的代码我抄过来后,发现在VS中报错,rn以前看到有人说他实现过一个,但是现在找不到了,谁提供一下?谢谢!rn[code=C]rn#include"head.h"rnnamespace MyVectorrnrn templatern class Vectorrn rn public:rn // vector 的嵌套类型定义rn typedef T value_type;rn typedef value_type* pointer;rn typedef value_type* iterator;rn typedef value_type *const const_iterator;rn typedef value_type& reference;rn typedef size_t size_type;rn typedef ptrdiff_t difference_type;rn protected:rn size_type length; //表示目前已用空间大小。rn iterator start; //表示目前使用空间的头rn iterator finish; //表示目前使用空间的尾rn iterator end_of_storage; //表示目前可用空间的尾rn public:rn //Vector():size(0),start(0),finish(0),end_of_storage(0)rn Vector(const_iterator Beg, const_iterator End)rn rn //不考虑超级大的数组。rn length = End - Beg;rn start = new value_type[length*2+1]();rn end_of_storage = start+length*2;rn rn for(size_type i=0; ilength)rn return back();rn elsern return *(begin() + n); rn rn reference at(size_type i)constrn rn if(i>length)rn throw "error";rn return *(begin()+i);rn rn void push_back(const T &rt)rn rn if(finish != end_of_storage)rn rn *finish = rt;rn ++finish;rn ++length;rn rn elsern rn iterator temp = new value_type[length*2]();rn for(size_type i=0; i
Vector vet = new Vector()的问题
jxl实现excel导入oracle的问题rn我是这样做的,先读取excel中的数据,然后rn存入Vector vet = new Vector(); 中,rn但获得数据时出现问题, rnexcel中有1千多笔资料,但只能获得6百多笔rn然后显示Array index out of range:3rn请问有啥好方法解决不,另:当excel中有rn2008/5/25这种内容时,获得的时候变成数字了rn不是变成2008525,请问有啥好办法解决不?
100分 求数据处理代码
[img=http://home.51.com/photo.view.php?id=100085643&user=wlm1314#100085643][/img]
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件