准备下上机考试,各种排序!!以后再添加和仿真像wiki上那样!
#include <stdio.h>
#include <string.h>
#define N 6
typedef struct
{
char name[];
int score;
}student;
//选择排序
void sort1 (student a[])
{
int i,j,min;
student st;
for(i=;i<N-;i++)
{
min=i;
for(j=i+;j<N;j++)
{
if(a[min].score>a[j].score)
min=j;
}
if(min!=i)
{
st=a[min];
a[min]=a[i];
a[i]=st;
}
}
}
//插入排序
void sort2 (student a[])
{
int i,j;
student st;
for(i=;i<N;i++)
{
st=a[i]; for(j=i;j>&&a[j-].score>st.score;j--)
a[j]=a[j-];
a[j]=st;
}
}
//冒泡排序
void sort3 (student a[])
{
int i,j;
student st;
for(i=;i<N-;i++)
{
for(j=;j<N-i-;j++)
{
if(a[j].score>a[j+].score)
{
st=a[j];
a[j]=a[j+];
a[j+]=st;
}
}
}
}
//快速排序
void sort4 (student a[],int left,int right)
{
int l=left,r=right;
student temp;
if(l<r)
{
temp=a[l];
while(l!=r)
{
while(r>l&&a[r].score>temp.score) --r;
if(l<r)
{
a[l]=a[r];
++l;
}
while(l<r&&a[l].score<temp.score) ++l;
if(l<r)
{
a[r]=a[l];
--r;
}
}
a[l]=temp;
sort4(a,left,l-);
sort4(a,l+,right);
}
}
void print(student s[])
{
int i;
for(i=;i<N;i++)
{
printf("%s %d \n",s[i].name,s[i].score);
}
printf("\n");
}
int main()
{
int key;
student s[N]={{"x",},{"y",},{"z",},{"w",},{"c",},{"h",}};
printf("1~4继续选择:\n1、比较排序\n2、插入排序\n3、冒泡排序\n4、快速排序\n按其他键退出\n");
while(scanf("%d",&key)!=)
{
switch(key)
{
case :
//比较排序
printf("比较排序结果:\n");
sort1(s);
print(s);
break;
case :
//插入排序
printf("插入排序结果:\n");
sort2(s);
print(s);
break;
case :
//冒泡排序
printf("冒泡排序结果:\n");
sort3(s);
print(s);
break;
case :
//快速排序
printf("快速排序结果:\n");
sort4(s,,N-);
print(s);
break;
default :
return ;
break;
}
}
return ;
}
准备下上机考试,各种排序!!以后再添加和仿真像wiki上那样!的更多相关文章
- Gridview排序与分页-不使用“DataSourceControl DataSource”的情况下如何分页和排序 ...
如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSou ...
- 发现护考上机考试的一个bug:附软件截图(模拟软件)
目录: 一.文章主旨 二.问题发现的起因 三.bug(问题)描述 四.软件截图 五.我的思考 六.一点期盼 一.文章主旨: 2019年5月18.19.20日,又是一年一度的护资考试(上机考),考试前夕 ...
- Twin Prime Conjecture(浙大计算机研究生保研复试上机考试-2011年)
Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Othe ...
- Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例
1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...
- python3.4下遍历文件目录,不需要再特殊处理中文编码
python3.4下遍历文件目录,不需要再特殊处理中文编码 直接使用os.walk来遍历中文目录. os.walk方法返回的是一个三元 tupple(dirpath, dirnames, filena ...
- 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态?
https://alibaba.github.io/arthas/ Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决 ...
- HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- C#中怎样在ToolStripMenuItem下再添加子级菜单
场景 在右键菜单ContextMenuStrip下添加子菜单选项可以通过 ContextMenuStrip menuStrip ToolStripMenuItem mnuChartOption = n ...
随机推荐
- nodejs初识
提到nodejs总离不开npm,因此首先要学些和了解npm.而对于npm.nodejs的了解都来源于菜鸟教程. nodejs学习地址:http://www.runoob.com/nodejs/node ...
- Bulk RNA-Seq转录组学习
与之对应的是single cell RNA-Seq,后面也会有类似文章. 参考:https://github.com/xuzhougeng/Learn-Bioinformatics/ 作业:RNA-s ...
- [转载]mapreduce合并小文件成sequencefile
mapreduce合并小文件成sequencefile http://blog.csdn.net/xiao_jun_0820/article/details/42747537
- nodejs安装、环境配置和测试
nodejs下载 https://nodejs.org/en/ nodejs安装 双击下载的nodejs,可自定义安装路径,安装模块部分直接next即可安装. 检查是否安装 win+R输入cmd,打开 ...
- Stark组件 (一)
Stark组件构建 1.启动所有app下的stark.py文件,的配置实现步骤 1.创建一个Django项目crm,并创建 app1 ,app2, stark 三个app 2.在crm 项目的set ...
- 简单记录下3PC
三PC分为三个阶段:CanCommit,PreCommit, DoCommit 整个分布式系统中,有一个组织者,其他属于参与者,当一个组织者挂了,会从其他可用site中选一个组织者出来,降低阻塞,避免 ...
- Kindergarten CodeForces - 484D (贪心,好题)
大意: 给定序列, 求划分为若干段, 使得总贡献最大, 每段的贡献为max-min 可以发现最优解一定是连续一段递增或递减, 然后dp即可. #include <iostream> #in ...
- git中.gitignore文件不起作用的解决
git rm -r --cached . git add . git commit -m 'update .gitignore'
- Spring Boot项目打包部署到外部Tomcat
1.生成war包 1)修改POM文件,将打包类型改为war:<packaging>war</packaging> <packaging>war</packag ...
- IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转
转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 前言: 记录 IIS 相 ...