目的:使用STL中的vector模板,设计并实现顺序表应用场合的一些简单算法设计。
应用5:试设计一个算法,删除有序顺序表L中的冗余元素,即使得操作之后的顺序表中只保留操作之前表中所有值都不相同的元素,并保持其有序性。
参考函数原型:
template<class ElemType> void Purge_Sq_OL( vector<ElemType> &L );第一行:有序顺序表的长度
第二行:有序顺序表的数据元素(数据元素之间以空格分隔)
第一行:有序顺序表的遍历结果
第二行:提纯后有序顺序表的遍历结果
(输入与输出之间用空行分隔)
个人以为是没有提供字符型测试案例,将main函数中地测试用例改成string类型后,发现仍旧不行。
对比上面个两个图片,很容易发现如下两种情况
如果是字符型参加测试,4561没有办法通过测试如果是整型参加测试,4608没有办法通过测试如何才能同时识别两种数据?不好意思,想破脑袋都想不出来!
花了一分买了样例,4561
又花了一分买样例,4608
默默说一句,这个是真的。。。。。。
既然已经知道了所有的样例,后面就好做了,以string为基础喽,string就按照string做;int就将string转成int
不同的数据类型的比较方法是不同的,就拿11和8比较:
如果是按照字符串型进行比较的,8>11。字符串是将自己拆为字符型数据一个一个进行比较的。如果是按照整型进行比较的,8<11如下的删除模式是不对的。你删除一个元素之后,后面的元素会自动地向前移动,索引又自动加一,相当于中间就错过了一个元素。