排序

本文详细介绍了排序算法(插入、快速、选择、冒泡、希尔法)与数据结构(数组、链表、栈、队列、二叉树、散列表),提供了C语言实现代码,适合初学者学习。

#include"stdio.h"
#define PI 3.14159

1.插入。

#include "stdafx.h"
void r(int *a,int n) ;

int _tmain(int argc, _TCHAR* argv[])
{
	int n=5,i,a[30];
	for(i=0;i<n;i++)
	{
		scanf_s("%d",&a[i]);
	}
		r(a,n);
		for(i=0;i<n;i++)
		{
		printf("%d\t",a[i]);
		}
	return 0;
}

void r(int a[],int n) 
{
int i,j,temp; 
for(i=1;i<n;i++) 
{ 
	temp=a[i];
	j=i-1; 
	while(j>=0&&temp<a[j]) 
   { 
	   a[j+1]=a[j]; 
	   j--; 
	} 
	a[j+1]=temp; 
}
}



2.快速(适合大量)

<#include "stdafx.h"
void quick(int a[],int i,int j);
int _tmain(int argc, _TCHAR* argv[])
{
	int n=10,i,a[30],b=0,c=n-1;
	for(i=0;i<n;i++)
	{
		scanf_s("%d",&a[i]);
	}
	quick(a,b,c);
		for(i=0;i<n;i++)
		{
		printf("%d\t",a[i]);
		}
	return 0;
}


void quick(int a[],int i,int j) 

{ 

int m,n,temp; 

int k; 

m=i; 

n=j; 

k=a[(i+j)/2]; /*选取的参照*/ 

do { 

while(a[m]<k&&m<j) m++; /* 从左到右找比k大的元素*/ 

while(a[n]>k&&n>i) n--; /* 从右到左找比k小的元素*/ 

if(m<=n) { /*若找到且满足条件,则交换*/ 

temp=a[m]; 

a[m]=a[n]; 

a[n]=temp; 

m++; 

n--; 

} 

}while(m<=n); 

if(m<j) quick(a,m,j); /*运用递归*/ 

if(n>i) quick(a,i,n); 

} 




3.选择

void choise(int a[],int n) 

{ 
	int i,j,k,temp; 
	for(i=0;i<n-1;i++) 
	{
		k=i;                    /*给记号赋值*/ 
		for(j=i+1;j<n;j++) 
			if(a[k]>a[j]) k=j; /*是k总是指向最小元素*/ 
		    if(i!=k)           /*当k!=i是才交换,否则a[i]即为最小*/ 
			{ 
				temp=a[i]; 
				a[i]=a[k]; 
				a[k]=temp;
			} 
	} 
} 


4.冒泡

void bubble(int a[],int n) /*定义两个参数:数组首地址与数组大小*/ 

{ 
	int i,j,temp; 
	for(i=0;i<n-1;i++) 
		for(j=i+1;j<n;j++) /*注意循环的上下限*/ 
			if(a[i]>a[j]) 
			{ 
				temp=a[i]; 
				a[i]=a[j]; 
				a[j]=temp; 
			} 
} 


5.shell法

void shell(int a[],int n) 
{ 
int i,j,k,x; 
k=n/2; /*间距值*/ 
while(k>=1) { 
for(i=k;i<n;i++) { 
x=a[i]; 
j=i-k; 
while(j>=0&&x<a[j]) { 
a[j+k]=a[j]; 
j-=k; 
} 
a[j+k]=x; 
} 
k/=2; /*缩小间距值*/ 
} 
} 



本系统旨在构建一套面向高等院校的综合性教务管理平台,涵盖学生、教师及教务处三个核心角色的业务需求。系统设计着重于实现教学流程的规范化与数据处理的自动化,以提升日常教学管理工作的效率与准确性。 在面向学生的功能模块中,系统提供了课程选修服务,学生可依据培养方案选择相应课程,并生成个人专属的课表。成绩查询功能支持学生查阅个人各科目成绩,同时系统可自动计算并展示该课程的全班最高分、平均分、最低分以及学生在班级内的成绩排名。 教师端功能主要围绕课程与成绩管理展开。教师可发起课程设置申请,提交包括课程编码、课程名称、学分学时、课程概述在内的新课程信息,亦可对已开设课程的信息进行更新或撤销。在课程管理方面,教师具备录入所授课程期末考试成绩的权限,并可导出选修该课程的学生名单。 教务处作为管理中枢,拥有课程审批与教学统筹两大核心职能。课程设置审批模块负责处理教师提交的课程申请,管理员可根据教学计划与资源情况进行审核批复。教学安排模块则负责全局管控,包括管理所有学生的选课最终结果、生成包含学号、姓名、课程及成绩的正式成绩单,并能基于选课与成绩数据,统计各门课程的实际选课人数、最高分、最低分、平均分以及成绩合格的学生数量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值