首页 > 其他分享 >11.25日报

11.25日报

时间:2024-11-27 11:02:03浏览次数:5  
标签:std name 日报 age 11.25 students Student id

完成设计模式实验十八,以下为今日实验内容:

实验18:迭代器模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解迭代器模式的动机,掌握该模式的结构;

2、能够利用迭代器模式解决实际问题。

 
   

 

 

[实验任务一]JAVAC++常见数据结构迭代器的使用

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

实验要求:

1.     搜集并掌握JAVA和C++中常见的数据结构和迭代器的使用方法,例如,vector, list, map和set等;

在JAVA中,可以使用ArrayList、LinkedList、HashMap、TreeMap、HashSet、TreeSet等集合类来存储数据,并使用内置的迭代器进行遍历。

在C++中,可以使用std::vector、std::list、std::map、std::set等STL容器来存储数据,并使用迭代器进行遍历。

2.     提交源代码;

  1. import java.util.*;

    // 学生类
    class Student {
        String name;
        String id;
        int age;

        public Student(String name, String id, int age) {
            this.name = name;
            this.id = id;
            this.age = age;
        }

        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", id='" + id + '\'' +
                    ", age=" + age +
                    '}';
        }
    }

    public class IteratorDemo {
        public static void main(String[] args) {
            List<Student> students = new ArrayList<>();
            students.add(new Student("Alice", "001", 20));
            students.add(new Student("Bob", "002", 22));
            students.add(new Student("Charlie", "003", 21));

            // 按学号从小到大遍历
           
    Collections.sort(students, Comparator.comparing(s -> s.id));
            for (Student student : students) {
                System.out.println(student);
            }

            // 按学号从大到小遍历
           
    Collections.sort(students, Comparator.comparing(s -> s.id).reversed());
            for (Student student : students) {
                System.out.println(student);
            }
        }
    }

 

 

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>

// 学生类
class Student {
    public:
    std::string name;
    std::string id;
    int age;

    Student(std::string name, std::string id, int age) : name(name), id(id), age(age) {}

    friend bool operator<(const Student& a, const Student& b) {
        return a.id < b.id;
    }
};

int main() {
        std::vector<Student> students;
        students.emplace_back("Alice", "001", 20);
        students.emplace_back("Bob", "002", 22);
        students.emplace_back("Charlie", "003", 21);

        // 按学号从小到大遍历
       
std::sort(students.begin(), students.end());
        for (const auto& student : students) {
        std::cout << student.name << " " << student.id << " " << student.age << std::endl;
        }

        // 按学号从大到小遍历
       
std::sort(students.begin(), students.end(), std::greater<Student>());
        for (const auto& student : students) {
        std::cout << student.name << " " << student.id << " " << student.age << std::endl;
        }

        return 0;
        }

 

 

3. 注意编程规范。

标签:std,name,日报,age,11.25,students,Student,id
From: https://www.cnblogs.com/lijianlongCode13/p/18571881

相关文章

  • 11.15日报
    今天完成人机交互部分实验,完成了添加教师的板块,以下为代码:namespacetest1{partialclassaddteacForm{///<summary>///Requireddesignervariable.///</summary>privateSystem.ComponentModel.IContainercomponents=nu......
  • 11.18日报
    今天完成了设计模式实验十六,以下为今日实验内容:实验16:命令模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解命令模式的动机,掌握该模式的结构;2、能够利用命令模式解决实际问题。     [实验任务一]:多次撤销和重复的命令模式某系统需要提供......
  • 11.20日报
    今天完成设计模式实验十七,以下为今日实验内容:实验17:解释器模式(选作)本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解解释器模式的动机,掌握该模式的结构;2、能够利用解释器模式解决实际问题。     [实验任务一]:解释器模式某机器人控制程序包含......
  • 11.4日报
    今天完成了设计模式的实验十一,以下为实验内容:实验11:装饰模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解装饰模式的动机,掌握该模式的结构;2、能够利用装饰模式解决实际问题。[实验任务一]:手机功能的升级用装饰模式模拟手机功能的升级过程:简单的手机(Sim......
  • 11.6日报
    完成了设计模式实验十二,以下为实验内容:实验12:外观模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解外观模式的动机,掌握该模式的结构;2、能够利用外观模式解决实际问题。[实验任务一]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调......
  • 11.7日报
    完成设计模式实验十三,以下为实验内容:实验13:享元模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解享元模式的动机,掌握该模式的结构;2、能够利用享元模式解决实际问题。     [实验任务一]:围棋设计一个围棋软件,在系统中只存在一个白棋对象......
  • 11.8日报
    背了些单词,之后进行了人机交互的实验,完成了添加人员模块:以下为今日完成部分代码:namespacetest1{partialclassaddmanForm{///<summary>///Requireddesignervariable.///</summary>privateSystem.ComponentModel.IConta......
  • 11.11日报
    今天完成了设计模式的实验十四,以下为实验内容:实验14:代理模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解代理模式的动机,掌握该模式的结构;2、能够利用代理模式解决实际问题。     [实验任务一]:婚介所婚介所其实就是找对象的一个代理,请仿......
  • 10.25日报
    今天完成了人机交互实验的部分内容,以下为部分代码:namespacetest1{partialclassForm1{///<summary>///必需的设计器变量。///</summary>privateSystem.ComponentModel.IContainercomponents=null;///<summary>......
  • 10.28日报
    今天完成了设计模式的实验,以下为今天的实验内容:实验8:适配器模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解适配器模式的动机,掌握该模式的结构;2、能够利用适配器模式解决实际问题。     [实验任务一]:双向适配器实现一个双向适配器,使得......