news 2026/10/10 14:42:17

面向对象程序设计-第一阶段补充-有序数组(类模板)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象程序设计-第一阶段补充-有序数组(类模板)

作者 何振峰

单位 福州大学

实现一个类模板,它可以接受一组数据,能对数据排序,也能输出数组的内容。

每行输入的第一个数字为0,1,2或3:为0时表示输入结束; 为1时表示将输入整数,为2时表示将输入有一位小数的浮点数,为3时表示输入字符。

如果第一个数字非0,则接下来将输入一个正整数,表示即将输入的数据的数量。

从每行第三个输入开始,依次输入指定类型的数据。

类模板:

template <class T> class MyArray

裁判测试程序样例:

#include <iostream> using namespace std; /* 请在这里填写答案 */ template<class T> MyArray<T>::~MyArray(){ delete[] data;} template<class T> bool MyArray<T>::check(){ int i; for(i=0;i<size-1;i++) if(data[i]>data[i+1]) { cout<<"ERROR!"<<endl;return false;} return true; } int main( ) { MyArray<int> *pI; MyArray<float> *pF; MyArray<char> *pC; int ty, size; cin>>ty; while(ty>0){ cin>>size; switch(ty){ case 1: pI = new MyArray<int>(size); pI->sort(); pI->check(); pI->display(); delete pI; break; case 2: pF = new MyArray<float>(size); pF->sort(); pF->check(); pF->display(); delete pF; break; case 3: pC = new MyArray<char>(size); pC->sort(); pC->check(); pC->display(); delete pC; break; } cin>>ty; } return 0; }

输入样例:

1 3 2 3 1 2 4 1.5 2.6 3.7 0.5 3 2 A a 0

输出样例:

1 2 3 0.5 1.5 2.6 3.7 A a

参考示例:

template<class T> class MyArray{ public: T *data; int size; MyArray(int n); ~MyArray(); void sort(); void display(); bool check(); }; template<class T> MyArray<T>::MyArray(int n){ size=n; data=new T[size]; for(int i=0;i<size;i++) cin>>data[i]; } template<class T> void MyArray<T>::sort(){ int i,j,k; for(i=0;i<size-1;i++){ k=i; for(j=i+1;j<size;j++) if(data[j]<data[k]) k=j; T t=data[i]; data[i]=data[k]; data[k]=t; } } template<class T> void MyArray<T>::display(){ for(int i=0;i<size;i++){ if(i>0)cout<<" "; cout<<data[i]; } cout<<endl; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 14:42:05

5分钟 vs 4分钟:MiniMax Music 3 把 AI 歌曲的时长天花板顶到哪了?

5分钟 vs 4分钟&#xff1a;MiniMax Music 3 把 AI 歌曲的时长天花板顶到哪了&#xff1f; 【免费下载链接】MiniMax-Music3 项目地址: https://ai.gitcode.com/MiniMax-AI/MiniMax-Music3 当主流 AI 音乐平台的单次生成普遍卡在 4 分钟左右时&#xff0c;MiniMax Musi…

作者头像 李华
网站建设 2026/10/10 14:40:58

约瑟夫问题四种解法详解:从数组模拟到数学递推

约瑟夫问题&#xff0c;学过算法的人几乎都绕不开。洛谷的P1996“约瑟夫问题”是这道经典题最标准的模板&#xff1a;n个人围成一圈&#xff0c;从1号开始报数&#xff0c;报到m的人出圈&#xff0c;然后从下一个人重新从1报数&#xff0c;直到所有人出圈&#xff0c;按顺序输出…

作者头像 李华
网站建设 2026/10/10 14:40:37

港科大工学院MSc体验日全记录:课程选择与申请关键点解析

说实话&#xff0c;要不是亲眼拿到港科大工学院的课程手册和申请时间表&#xff0c;我可能还在网上翻各种“学长学姐说”的零碎信息。前段时间我专程参加了香港科技大学工学院理学硕士MSc课程的校园体验日&#xff0c;从课程宣讲、实验室参观到教授面对面答疑、在读学生分享&am…

作者头像 李华
网站建设 2026/10/10 14:40:23

基于Spring Boot的学生成绩管理系统:设计、实现与避坑指南

简介&#xff1a;学生成绩信息管理系统的设计与实现资料包&#xff0c;面向需要完成课程设计或毕业设计的计算机相关专业学生&#xff0c;目标是解决传统手工成绩管理效率低、易出错的问题。系统涵盖学生信息管理、课程管理、成绩录入查询、统计分析、报表生成等核心模块&#…

作者头像 李华
网站建设 2026/10/10 14:40:12

从《黄帝内经》到小红书养生帖:中医文化学论文的 AI 搭子怎么选?

先说一个很多同学都在搜的问题&#xff1a;“研究人员常用的 AI 写作免费一键生成软件有哪些&#xff1f;” 但真正写到论文时&#xff0c;你会发现“免费、一键、能生成”只是最低要求。尤其是中医文化学专业&#xff0c;我们常常要做的不是单纯医学实验&#xff0c;而是把经…

作者头像 李华
网站建设 2026/10/10 14:39:09

Flutter for OpenHarmony实战:猫咪管家疫苗记录模块开发指南

做猫咪管家App的时候&#xff0c;最让我头疼的模块不是宠物相册&#xff0c;不是喂养记录&#xff0c;反而是那个看起来没什么技术含量的“疫苗记录”。当时我用的技术栈是Flutter for OpenHarmony&#xff0c;也就是说&#xff0c;我要在一套还没完全成熟的开源鸿蒙生态里&…

作者头像 李华