学生成绩管理系统c语言堆排序快速排序,c语言 快速排序---归并排序----堆排序...
//快速排序:
#include
#define MAX 500000
int s[MAX];
void Q_Sort(int start,int end)
{
int i,j,t;
if ( start >= end ) return ;
t = s[start];
i = start;
j = end;
while ( i < j)
{
while ( s[j] >= t && i < j)
{
j--;
}
s[i] = s[j];
while ( s[i] <= t && i < j)
{
i++;
}
s[j] = s[i];
}
s[i] = t;
Q_Sort(start,i-1);
Q_Sort(i+1,end);
}
int main()
{
int i,n;
while (scanf("%d",&n),n)
{
for ( i = 0 ; i < n ; i++)
{
scanf("%d",&s[i]);
}
Q_Sort(0,n-1);
}
return 0;
}
//归并排序
#include
#define MAX 500000
int a[MAX];
int b[MAX];
void Merge(int left,int mid,int right)
{
int i,j,k;
i = left;
j = mid+1;
k = left;
while ( i <= mid && j <= right )
{
if ( a[i] <= a[j] )
{
b[k++] = a[i++];
}
else
{
b[k++] = a[j++];
}
}
while ( i <= mid )
{
b[k++] = a[i++];
}
while ( j <= right )
{
b[k++] = a[j++];
}
}
void MergeSort(int left,int right)
{
int i,mid;
if ( left < right )
{
mid = ( left + right ) / 2 ;
MergeSort(left , mid);
MergeSort(mid+1 , right);
Merge(left,mid,right);
for ( i = left ; i <= right ; i++)
{
a[i] = b[i];
}
}
}
int main()
{
int i,n;
while (scanf("%d",&n),n)
{
for ( i = 0 ; i < n ; i++)
{
scanf("%d",&a[i]);
}
MergeSort(0,n-1);
}
return 0;
}
//堆排:
#include
#define MAX 500000
int s[MAX];
void Heapify(int x,int n)
{
if ( x*2+1 <= n)
{
if ( s[x] == s[2*x] && s[x] == s[2*x+1] ) return ;
if ( s[2*x] > s[x] && s[2*x] > s[2*x+1] )
{
s[2*x] ^= s[x] ^= s[2*x] ^= s[x] ;
Heapify(2*x,n);
}
else if ( s[2*x+1] > s[x] && s[2*x+1] > s[2*x] )
{
s[2*x+1] ^= s[x] ^= s[2*x+1] ^= s[x] ;
Heapify(2*x+1,n);
}
else if ( s[2*x+1] == s[2*x] && s[2*x] > s[x])
{
s[2*x] ^= s[x] ^= s[2*x] ^= s[x];
Heapify(2*x,n);
}
}
else if ( x*2 == n )
{
if ( s[2*x] > s[x] )
{
s[2*x] ^= s[x] ^= s[2*x] ^= s[x] ;
Heapify(2*x,n);
}
}
}
void HeapSort(int n)
{
int i,k;
for ( i = n/2 ; i >= 1 ; i--)
{
Heapify(i,n);
}
for ( k = n ; k > 1 ; k--)
{
s[k] ^= s[1] ^= s[k] ^= s[1];
Heapify(1,k-1);
}
}
int main()
{
int i,n;
while (scanf("%d",&n),n)
{
for ( i = 1 ; i <= n ; i++)
{
scanf("%d",&s[i]);
}
HeapSort(n);
for ( i = 1 ; i <= n ; i++)
{
if ( i != n ) printf("%d ",s[i]);
else printf("%d\n",s[i]);
}
}
return 0;
}
学生成绩管理系统c语言堆排序快速排序,c语言 快速排序---归并排序----堆排序...相关推荐
- C语言复杂的学生成绩管理系统,哭诉、拜求C语言学生成绩管理系统
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...
- 用链表c语言程序设计,C语言程序设计-基于链表的学生成绩管理系统
<C语言程序设计-基于链表的学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计-基于链表的学生成绩管理系统(18页珍藏版)>请在人人文库网上搜索. 1.华北科技 ...
- c语言用链表实现成绩管理系统,C语言基于单链表得学生成绩管理系统
前言 传说中讲课通俗而不庸俗,说话风流而不下流的小编又来了哦,今天的主要内容是:C语言基于单链表得学生成绩管理系统.首先给年夜家总结下为什么你们学习C语言会觉得难,尤其是对单链表这块,主要原因得是因为 ...
- 用c语言编写图书成绩管理系统,学生成绩管理系统(c语言编写).doc
学生成绩管理系统(c语言编写) C程序 学生管理系统 /* Note:Your choice is C IDE */ #include "stdio.h" #include&quo ...
- C语言学生成绩简单,C语言实现简单学生成绩管理系统.pdf
C语言实现简单学生成绩管理系统 这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有 定的参考价值,感兴趣的小伙伴们可以 参考 下 本文实例为大家分享了C语言实现学生成绩管理系统的具体代码 ...
- 学生成绩统计c语言课程设计,学生成绩管理系统-C语言课程设计
记一次课程设计作业 学生成绩管理系统#include #include #include #include /* 学生成绩管理系统介绍 2017C语言课程设计 202160936 1.支持将数据保存 ...
- 基础的学生成绩管理系统(C语言)
用C语言写的学生成绩管理系统 #include<stdio.h> #include<stdlib.h> #include<conio.h> #include< ...
- c语言学生管理系统write to a text file,语言编程学生成绩管理系统.doc
语言编程学生成绩管理系统 c语言编程-学生成绩管理系统 #include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组*/ ...
- c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统
<C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...
- c语言编写简单的成绩管理系统,用c语言编写学生成绩管理系统
<用c语言编写学生成绩管理系统>由会员分享,可在线阅读,更多相关<用c语言编写学生成绩管理系统(9页珍藏版)>请在人人文库网上搜索. 1.include#include#inc ...
最新文章
- 一条光纤的传输容量高达 661Tbps(附论文)
- 网站安全扫描工具--Netsparker的使用
- 选择51cto.com
- C#中深拷贝对象的简单方法
- go语言中的闭包结构
- linux dhcp 负载均衡,dhcp双机负载均衡
- Android布局延伸状态栏,Android沉浸式全屏讲解(状态栏、导航栏处理)
- Spring Cloud Alibaba基础教程:Nacos的数据持久化 1
- 【初学】python执行系统命令四种方法比较
- 如何选择数据分析工具
- U2000V1R2安装部署工作日报
- 苹果12开发者设置_App怎么上架到苹果商店(app store)?上架app的流程。
- 详细的ico图标制作与Qt修改exe图标方法
- 【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换
- 现代基准测试程序种类以及使用方法
- Java实现替换Word中文本
- 路由器wifi信号测试软件,顶级无线路由器信号强度测试(5GHz)_网络设备无线网络和技术-中关村在线...
- 蒲公英内测托管平台:免费WiFi应用暗藏陷阱
- Java-MQTT客户端监控连接状态事件
- 图文讲解如何在outlook里设置绑定QQ企业邮箱教程
热门文章
- sdl+ffmpeg视频播放器02
- 1、C++一些小的知识点之怎么表示e的x次方
- Aria2GUI 导出下载 刷新界面,任务消失
- 初步分析 flash to html5 convert in Flash CS6
- 数据集:谭松波--酒店评论语料、人脸68位关键点、WIDE Face数据集
- 数学建模入门-python拟合曲面
- 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包
- Golang源码阅读笔记 - String
- Docker安装halo
- xwiki部署_Linux下Xwiki安装部署详解