⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.cpp

📁 学校的教学管理系统
💻 CPP
字号:
#include"head.h"
#include<iostream.h>

void SortAll(Student* &head)
{
    Student *right;
	Student *left;
	Student *p;
	int count,pass,n;

	for(p=head,count=0;p!=NULL;p=p->next)
	{
		count++;             //求出链表的节点数
	}
	
	for(pass=1;pass<count;pass++)
	{
		for(left=head,right=left->next,n=0;n<count-pass;n++)
		{
			if(left->Average<right->Average)
			{
				if(left==head)
				{
					head=right;
					left->next=right->next;
					right->next=left;
					right=left->next;
				}
				else
				{
					for(p=head;p->next!=left;p=p->next)
						;
					left->next=right->next;
					right->next=left;
					p->next=right;
					right=left->next;
				}
			}
			else
			{
				left=left->next;
				right=left->next;
			}
		}
	}
}

void SortByClass(Student* &head)
{
    Student *right;
	Student *left;
	Student *p;
	int count,pass,n;

	for(p=head,count=0;p!=NULL;p=p->next)
	{
		count++;             //记数
	}
	
	for(pass=1;pass<count;pass++)
	{
		for(left=head,right=left->next,n=0;n<count-pass;n++)
		{
			if(left->Class>right->Class)
			{
				if(left==head)
				{
					head=right;
					left->next=right->next;
					right->next=left;
					right=left->next;
				}
				else
				{
					for(p=head;p->next!=left;p=p->next)
						;
					left->next=right->next;
					right->next=left;
					p->next=right;
					right=left->next;
				}
			}
			else
			{
				left=left->next;
				right=left->next;
			}
		}
	}
}

void SortEachClass(Student* &head)
{
	SortAll(head);
	SortByClass(head);
}                        //先对所有学生排序,再按班排序即实现此功能

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -