软件设计-迭代器模式

技术软件设计-迭代器模式 软件设计-迭代器模式JAVA和C++常见数据结构迭代器的使用信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL

软件设计-迭代器模式

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)和C常见数据结构迭代器的使用

信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)内置迭代器和C中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。

源码

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)内置迭代器

包装rjsj.no18

导入Java。乌提尔。ArrayList

导入Java。乌提尔。收藏品;

导入Java。乌提尔。迭代器;

导入Java。乌提尔。列表;

学生类实现了比较研究

私有字符串名称;

私有int sid

私人互联网时代;

公共学生(字符串名称,整数样本号,整数年龄){ 0

this.name=name

this.sid=sid

this.age=年龄;

}

@覆盖

公共字符串ToString(){ 0

返回"学生{"

'姓名名称' \ '

,学号=' sid

,年龄='年龄

'}';

}

@覆盖

公共国际比较(学生)

如果(这个。sid o . sid){ 0

返回-1;

} else if(这个。sid o . sid){ 0

返回1;

} else {

返回0;

}

}

}

类迭代器

公共静态void main(String[]参数){ 0

学生1=新学生('张三',20193885,21);

学生2=新学生('李四',20201456,20);

学生3=新学生('王五',20184655,23);

学生4=新学生('赵六',20191242,22);

学生5=新学生('李七',20213256,19);

list学生列表=new ArrayList学生();

名单。添加(学生1);名单。添加(学生2);名单。添加(学生3);

名单。添加(学生4);名单。添加(学生5);

Collections.sort(列表);

System.out.println('按学号排序输出:');

迭代器I=列表。迭代器();

while(I . HasNeXt()){ 0

System.out.println(i.next().toString());

}

}

}

C

#包括牡蛎

#包含矢量

#包括算法

使用命名空间标准;

学生班级{

公众号:

长学生身份;

字符串名称;

国际年龄;

弦乐专业;

公众号:

学生(长学生标识、字符串名称、整数、字符串专业){ 0

this-学生证=学生证;

this-name=name;

这个年龄=年龄;

本-专业=专业;

}

void show(){ 0

cout '姓名:"此名称" \t学号: 'this-studentid '\t年龄:"这个年龄" \t专业: ' this-majorendl;

}

};

bool compMax(学生*a,学生* b){ 0

if (a-studentid b-studentid)

返回真;

其他

返回错误的

}

bool compMin(学生*a,学生* b){ 0

if (a-studentid b-studentid)

返回真;

其他

返回错误的

}

int main(){ 0

学生*s1=新学生(20193288 '张三', 19, '土木');

学生*s2=新学生(20193999 '李四', 21, '经管');

学生*s3=新学生(20196654 '王五', 22, '软工');

学生*s4=新学生(20193367 '赵六', 20, '机械');

向量研究*向量;

vec。推背(S1);

vec。推背(S2);

vec。推背(S3);

vec。推背(S4);

cout '按照学号从大到小输出: ' endl

向量学习* :迭代器迭代器它;

sort(vec.begin()、vec.end()、compMax);

for(it=vec。begin();它!=vec。end();it){ 0

(* it)-show();

}

cout '-' endl;

cout '按照学号从小到大输出: ' endl

sort(vec.begin()、vec.end()、compMin);

for(it=vec。begin();它!=vec。end();it){ 0

(* it)-show();

}

}

运行结果

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145034.html

(0)

相关推荐

  • iOS如何使用Photo应用

    技术iOS如何使用Photo应用这篇文章将为大家详细讲解有关iOS如何使用Photo应用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、步骤执行:1、首先要创建一个SingleVie

    攻略 2021年10月21日
  • web前端实现任意文字转粒子方法是什么

    技术web前端实现任意文字转粒子方法是什么本篇内容介绍了“web前端实现任意文字转粒子方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月5日
  • 生信pheatmap绘制热图(pheatmap作图前数据)

    技术Pheatmap怎样绘制热图Pheatmap怎样绘制热图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。随机生成,10个基因,每个基因4个处理,每个处理3

    攻略 2021年12月20日
  • 如何用TPYBoard开发板制作PM2.5检测仪

    技术如何用TPYBoard开发板制作PM2.5检测仪今天就跟大家聊聊有关如何用TPYBoard开发板制作PM2.5检测仪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收

    攻略 2021年12月22日
  • View如何实现非中心点旋转

    技术View如何实现非中心点旋转这篇文章主要为大家展示了“View如何实现非中心点旋转”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“View如何实现非中心点旋转”这篇文章吧。

    攻略 2021年12月3日
  • 如何翻译和解释ethereum web3.js文档

    技术如何进行以太坊web3.js文档翻译及说明今天就跟大家聊聊有关如何进行以太坊web3.js文档翻译及说明,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。web3

    攻略 2021年12月14日