void StudentManage::Sort() //排序功能
{
StudentInfo *h,*curr,*temp,*last;
h=head;
for(int j=0;j<n;j++)
{
curr=h;
for(int i=0;i<n-j;i++)
{
if(curr->sum < curr->NEXT->sum)
{
if(i==0) //换头指针为第二个节点
{
temp=h;
h=h->NEXT;
temp->NEXT=h->NEXT;
h->NEXT=temp;
curr=h->NEXT;
continue;
}
else
{
last=h;
for(int k=0;k<i-1;k++)
last=last->NEXT;
temp=curr;
curr=curr->NEXT;
temp->NEXT=curr->NEXT;
curr->NEXT=temp;
last->NEXT=curr;
}
curr=curr->NEXT;
}
}
}
cout<<"按成绩由大到小的排序功能已经完成!"<<endl;
}

作者:​​靠谱杨​​​


我可能不是天才,但我会努力成为人才。

更多日常分享尽在我的VX公众号:小杨的挨踢IT生活

C++排序_公众号