c++通过对象指针对对象数组进行排序
现在我想通过“按照学生的学号”对录入的学生信息进行“从小到大的”排序:
仍然用指针
比如录入的是
05 aa 98.5
02 bb 54.5
04 cc 78.3
排序完成后变成:
02 bb 54.5
04 cc 78.3
05 aa 98.5
我用指针的算法如下:
student类如下:
class student
{
public:
void sort();
private:
long num;
char *name;
float grade;
int length;//有多少个学生的信息
}
在main()中调用如下:
void main()
{
student *st;
cout<<"输入你要录入的学生信息的个数:"<<endl;
cin>>length;
st=new student[length];
st->sort(st,length);
}
sort函数具体如下:
void sort(student *&pt,int length)//length是学生信息的个数
{
int i,j;
student *temp;
for(i=0;i<length;i++)
{
for(j=i;j<length;j++)
{
if((p+i)->num>(p+j)->num)//通过对学生的学号进行整个信息的排序
{
temp=(p+i);
(p+i)=(p+j);/////这里有报错了
(p+j)=temp;
}
}
}
我要问的是怎么通过对象指针对对象数组进行排序
有何看不懂请直接回帖批