#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;
struct STUDENT
{
int id; //学号
int class_id; //班级
int score; //分数
};
void main()
{
STUDENT stu[6]={{1,2,80},{2,3,90},{3,3,75},{1,1,60},{1,2,85},{2,3,95}};
STUDENT *pStudent = stu;
STUDENT *pStudentMin = new STUDENT;
for(int i=0;i<6;i++)
{
for(int j=i+1;j<6;j++)
{
if ((pStudent+i)->id > (pStudent+j)->id)
{
*pStudentMin = *(pStudent+j);
*(pStudent+j) = *(pStudent+i);
*(pStudent+i) = *pStudentMin;
}
}
}
for(int i=0;i<6;i++)
{
for(int j=i+1;j<6;j++)
{
if ((pStudent+i)->class_id > (pStudent+j)->class_id)
{
*pStudentMin = *(pStudent+j);
*(pStudent+j) = *(pStudent+i);
*(pStudent+i) = *pStudentMin;
}
}
}
cout <<setw(4)<<"id"<<setw(12)<<"class_id"<<setw(8)<<"score"<<endl;
for (int i=0;i<6;i++)
{
cout <<setw(4)<<stu[i].id<<setw(12)<<stu[i].class_id<<setw(8)<<stu[i].score<<endl;
}
delete pStudentMin;
}
利用交换算法,解决学生id排序的算法
最新推荐文章于 2019-03-03 16:36:33 发布