//快速排序:

#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语言 快速排序---归并排序----堆排序...相关推荐

  1. C语言复杂的学生成绩管理系统,哭诉、拜求C语言学生成绩管理系统

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* Note:Your choice is C IDE */ #include "stdio.h" #include "s ...

  2. 用链表c语言程序设计,C语言程序设计-基于链表的学生成绩管理系统

    <C语言程序设计-基于链表的学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计-基于链表的学生成绩管理系统(18页珍藏版)>请在人人文库网上搜索. 1.华北科技 ...

  3. c语言用链表实现成绩管理系统,C语言基于单链表得学生成绩管理系统

    前言 传说中讲课通俗而不庸俗,说话风流而不下流的小编又来了哦,今天的主要内容是:C语言基于单链表得学生成绩管理系统.首先给年夜家总结下为什么你们学习C语言会觉得难,尤其是对单链表这块,主要原因得是因为 ...

  4. 用c语言编写图书成绩管理系统,学生成绩管理系统(c语言编写).doc

    学生成绩管理系统(c语言编写) C程序 学生管理系统 /* Note:Your choice is C IDE */ #include "stdio.h" #include&quo ...

  5. C语言学生成绩简单,C语言实现简单学生成绩管理系统.pdf

    C语言实现简单学生成绩管理系统 这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有 定的参考价值,感兴趣的小伙伴们可以 参考 下 本文实例为大家分享了C语言实现学生成绩管理系统的具体代码 ...

  6. 学生成绩统计c语言课程设计,学生成绩管理系统-C语言课程设计

    记一次课程设计作业 学生成绩管理系统#include #include #include #include /* 学生成绩管理系统介绍 2017C语言课程设计  202160936 1.支持将数据保存 ...

  7. 基础的学生成绩管理系统(C语言)

    用C语言写的学生成绩管理系统 #include<stdio.h> #include<stdlib.h> #include<conio.h> #include< ...

  8. c语言学生管理系统write to a text file,语言编程学生成绩管理系统.doc

    语言编程学生成绩管理系统 c语言编程-学生成绩管理系统 #include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组*/ ...

  9. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  10. c语言编写简单的成绩管理系统,用c语言编写学生成绩管理系统

    <用c语言编写学生成绩管理系统>由会员分享,可在线阅读,更多相关<用c语言编写学生成绩管理系统(9页珍藏版)>请在人人文库网上搜索. 1.include#include#inc ...

最新文章

  1. 一条光纤的传输容量高达 661Tbps(附论文)
  2. 网站安全扫描工具--Netsparker的使用
  3. 选择51cto.com
  4. C#中深拷贝对象的简单方法
  5. go语言中的闭包结构
  6. linux dhcp 负载均衡,dhcp双机负载均衡
  7. Android布局延伸状态栏,Android沉浸式全屏讲解(状态栏、导航栏处理)
  8. Spring Cloud Alibaba基础教程:Nacos的数据持久化 1
  9. 【初学】python执行系统命令四种方法比较
  10. 如何选择数据分析工具
  11. U2000V1R2安装部署工作日报
  12. 苹果12开发者设置_App怎么上架到苹果商店(app store)?上架app的流程。
  13. 详细的ico图标制作与Qt修改exe图标方法
  14. 【愚公系列】2023年02月 .NET CORE工具案例-Lunar日历转换
  15. 现代基准测试程序种类以及使用方法
  16. Java实现替换Word中文本
  17. 路由器wifi信号测试软件,顶级无线路由器信号强度测试(5GHz)_网络设备无线网络和技术-中关村在线...
  18. 蒲公英内测托管平台:免费WiFi应用暗藏陷阱
  19. Java-MQTT客户端监控连接状态事件
  20. 图文讲解如何在outlook里设置绑定QQ企业邮箱教程

热门文章

  1. sdl+ffmpeg视频播放器02
  2. 1、C++一些小的知识点之怎么表示e的x次方
  3. Aria2GUI 导出下载 刷新界面,任务消失
  4. 初步分析 flash to html5 convert in Flash CS6
  5. 数据集:谭松波--酒店评论语料、人脸68位关键点、WIDE Face数据集
  6. 数学建模入门-python拟合曲面
  7. 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包
  8. Golang源码阅读笔记 - String
  9. Docker安装halo
  10. xwiki部署_Linux下Xwiki安装部署详解