首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,为什么这两个得到的结果完全不一样

2012-03-28 
求助,为什么这两个得到的结果完全不一样C/C++ codelistchar LClistchar::iterator Itint Lengthcha

求助,为什么这两个得到的结果完全不一样

C/C++ code
list<char> LC;list<char>::iterator It;int Length;char Str[LIM];cin>>Str;LC.clear();It=LC.begin(); // 差别就在这Length=strlen(Str);for(int i=0;i<Length;++i){        if( Str[i] == '[' ){            It=LC.begin();        }        else if( Str[i] == ']'){            It=LC.end();        }        else{            LC.insert(It,Str[i]);        }}PRINT();


C/C++ code
list<char> LC;list<char>::iterator It;int Length;char Str[LIM];cin>>Str;LC.clear();It=LC.end(); // 差别就在这Length=strlen(Str);for(int i=0;i<Length;++i){        if( Str[i] == '[' ){            It=LC.begin();        }        else if( Str[i] == ']'){            It=LC.end();        }        else{            LC.insert(It,Str[i]);        }}PRINT();


print函数就没贴上来了,就是遍历输出

这个唯一差别就是开始初始化的时候It=LC.end();与It=LC.begin();
但是如果输入abcd[std]efg
反正就是有[]就会有很奇怪的不一样
ps:前一个是对的是我想要实现的
还有插入之后,那个迭代器貌似很奇怪,跟vector完全不一样






[解决办法]
至于你的程序没有什么问题啊!!
比如:你输入abcd[std]efg

1,2的结果:stdabcdefg

热点排行