不要设计面面俱到、非常灵活的数据结构

不要设计面面俱到、非常灵活的数据结构。

 1 #include <iostream>
 2 #include <iostream>
 3 #include <algorithm>
 4 #include <string>
 5 #include <vector>
 6 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 7
 8 using namespace std;
 9
10 //如果字符串以‘S‘开头,则返回true
11 int MatchFirstChar( const string& str)
12 {
13     string s("S") ;
14     return s == str.substr(0,1) ;
15 }
16
17 //测试count_if算法
18 int main(int argc, char** argv) {
19 {
20     const int VECTOR_SIZE = 8 ;
21
22     //生成成员类型为strings的vector容器类
23     typedef vector<string > StringVector ;
24
25     //定义迭代器类型
26     typedef StringVector::iterator StringVectorIt ;
27
28     //声明vector容器的对象
29     StringVector NamesVect(VECTOR_SIZE) ;
30
31     //声明迭代器
32     StringVectorIt start, end,it;
33
34     int result = 0 ;   // 存放统计数据
35
36     //初始化vector容器NamesVect
37     NamesVect[0] = "She" ;
38     NamesVect[1] = "Sells" ;
39     NamesVect[2] = "Sea" ;
40     NamesVect[3] = "Shells" ;
41     NamesVect[4] = "by" ;
42     NamesVect[5] = "the" ;
43     NamesVect[6] = "Sea" ;
44     NamesVect[7] = "Shore" ;
45
46     //设置容器的起始位置和终止位置
47     start = NamesVect.begin() ;
48     end = NamesVect.end() ;
49
50     //显示NamesVect容器的元素
51     cout << "NamesVect: " ;
52     for(StringVectorIt it = start; it != end; it++)
53         cout << *it << " " ;
54     cout <<endl ;
55
56     //统计并显示NamesVect容器的所有元素中以‘S‘字符开头的字符串
57     result = count_if(start, end, MatchFirstChar) ;
58     cout << "Number of elements that start with letter \"S\" = "
59         << result << endl  ;
60
61     //显示NamesVect容器[1,6]之间的元素
62     cout <<"NamesVect[1]--NamesVect[6]: " ;
63     for( it = &NamesVect[1]; it != &NamesVect[7]; it++)
64         cout << *it << " " ;
65     cout <<endl ;
66
67     //统计并显示NamesVect容器的所有元素中以‘S‘字符开头的字符串
68     result = count_if(&NamesVect[1], &NamesVect[7], MatchFirstChar) ;
69     cout << "Number of elements that start with letter \"S\" = "
70         << result << endl  ;
71
72             return 0;
73 }

原文地址:https://www.cnblogs.com/borter/p/9418292.html

时间: 2024-10-18 23:20:13

不要设计面面俱到、非常灵活的数据结构的相关文章

链表 最灵活的数据结构

链表是一个有序的列表,但是他在内存中时分散存储的,使用链表可以解决类似约瑟夫问题,排序,索引,广义表 <?php /** * Created by PhpStorm. * User: qixingyi * Date: 2015/5/15 * Time: 19:20 * 链表 最灵活的数据结构 * * * 链表是一个有序的列表,但是他在内存中时分散存储的,使用链表可以解决类似约瑟夫问题,排序,索引,广义表 */ /** * Class Hero 水浒英雄排行榜管理 */ class Hero {

数据库表设计的很灵活,是否做SQL语句也那么容易呢

由于项目需要,我们把一些不经常变的常数通过数据字段配置好,系统初始化的时候通过数据库字段去更新数据.下面就实例说明. 我有一张这样的表 ,你会发现meterkindid和measureid是代码,只有通过数据配置的数据字典才能解析出我们要的值,下面为数据字典表结构 ,这样设计就很灵活,FieldID为列名称,ID为上面表的值,value为解析值,也就是代码对应的名称,下面再发一张字典的数据图 MK001和MK002对应数据字典的水表跟电表,MS001和MS002对应数据字典的计量单位分别为吨还是

华为软件编程规范和范例

目  录 1 排版 6 2 注释 11 3 标识符命名 18 4 可读性 20 5 变量.结构 22 6 函数.过程 28 7 可测性 36 8 程序效率 40 9 质量保证 44 10 代码编辑.编译.审查 50 11 代码测试.维护 52 12 宏 53 1 排版 ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个. 说明:对于由开发工具自动生成的代码可以有不一致. ¹1-2:相对独立的程序块之间.变量说明之后必须加空行. 示例:如下例子不符合规范. if (!valid_ni(ni))

java数据结构与算法之平衡二叉树(AVL树)的设计与实现

[版权申明]未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53892797 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) java数据结构与算法之栈(Stack)设

java数据结构与算法之双链表设计与实现

转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/53047590 出自[zejian的博客] 关联文章: 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) ??上一篇文章分析顺序表和单链表,本篇就接着上篇继续聊链表,在单链表

java数据结构与算法之树基本概念及二叉树(BinaryTree)的设计与实现

[版权申明]未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53727333 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) java数据结构与算法之栈(Stack)设

java数据结构与算法之(Queue)队列设计与实现

[版权申明]转载请注明出处(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53375004 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) java数据结构与算法之栈设计与实现 java数据结构

java数据结构与算法之栈(Stack)设计与实现

[版权申明]转载请注明出处(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53362993 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) java数据结构与算法之栈设计与实现 ??本篇是jav

游戏引擎/GUI的设计与实现-主题

GUI的主题与中心思想没有什么关系,纯粹是一种控制GUI外观的配置方案.几乎所有的视觉效果都由主题是控制的,一个设计良好的主题模块,可以通过配置文件模拟不同的系统.主题的设计可繁可简,能满足自己的需要就可以了.这里以我写得几个GUI,FTK,CANTK和WTK为例,介绍一下主题得设计. 主题的内容 一般来说每种控件都有一种或多种状态,常见的状态有正常状态.鼠标按下状态.鼠标OVER状态.只读状态,选中状态和禁用状态等.比如文本只用正常状态,按钮有正常状态.鼠标按下状态.鼠标OVER状态和禁用状态