浏览 1411 次
锁定老帖子 主题:冒泡法
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-16
最后修改:2009-05-16
#include <string> using namespace std; //运动员类,姓名,学号,成绩(头文件) class Athlete{ public: Athlete(string,int,float); string getname(); int getid(); float getscore(); private: string name; int id ; float score; }; #include "athlete.h" #include <string> using namespace std; Athlete::Athlete(string n,int i,float s){ name=n; id=i; score=s; } string Athlete::getname(){ return name; } int Athlete::getid(){ return id; } float Athlete::getscore(){ return score; } // 冒泡法测试 对象排序 程序入口 #include "athlete.h" #include <string> #include <iostream> using namespace std; int main(){ //建立一组对象用于排序 Athlete ath[8]={ Athlete("yubin",27,25.8), Athlete("zhangrui",34,34.56), Athlete("liuhai",37,21.24), Athlete("liema",25,67.34), Athlete("helin",38,45.67), Athlete("quchao",29,76.89), Athlete("lidian",36,87.75), Athlete("wanghai",14,53.27), }; // cout<<"the name is "<<ath[4].getname()<<endl; // cout<<"the score is "<<ath[2].getscore()<<endl; //按对象组的成绩从大到小排列 //外层循环 for(int i=0;i<8;i++){ //里层循环 for(int j=i;j<8;j++){ Athlete temp("default",0,0); //如果前面的成绩小于后者 则和后者调换 if(ath[i].getscore()<ath[j].getscore()){ temp=ath[i]; ath[i]=ath[j]; ath[j]=temp; } } } //输出排序后的名单 for(i=0;i<8;i++){ cout<<"name :"<<ath[i].getname()<<" id :"<<ath[i].getid()<<" score:"<<ath[i].getscore()<<endl; } return 0; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-16
发错版了。把cpp当java用的话,还是用java吧。通篇的传值
|
|
返回顶楼 | |