准备下上机考试,各种排序!!以后再添加和仿真像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 ...
随机推荐
- Arduino 数字函数总结
Arduino 有三个数字函数,分别是:pinMode( ), digitalWrite( ),digitalRead( ).三个函数各有其作用,pinMode( ) 在初始化 setup( )函数中 ...
- 雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单
jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...
- Learning by doing——百日“扇贝打卡” 历程&展望
Java结课了.如果说这学期学习这门课后最明显的成果,那就是写了那么多的博客吧.而如果说本学期最有里程碑的事,那就是背了100多天单词,其中还获得了徽章! 这次想说说从中学以来一直喜欢的一门课--英语 ...
- English trip Spoken English & Word List(updating...)
Word List 词汇 Square 英 [skweə] 美 [skwɛr] adj. 平方的:正方形的:直角的:正直的. 使成方形:与…一致 vi. 一致:成方形 n. 平方:广场:正方形 ...
- C# winform 窗体怎么隐藏标题栏,不显示标题栏
//没有标题 this.FormBorderStyle = FormBorderStyle.None; //任务栏不显示 this.S ...
- LeetCode--002--两数相加(java版)
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- change_bit 按位取反
int change_bit(int nr, void * addr){ int oldbit; //1.第nr位取反, 原nr位入CF //2. sbbl带借位减(把源操作数和标志 ...
- 阻止ajax缓存方法
通过添加meta标签 <meta http-equiv= "pragma" content= "no-cache"/> (pragma: 杂注) & ...
- 虚拟机linux 如何挂在U盘,NTFS格式如何挂载
今天突发奇想,想挂载U盘到虚拟机的Centos 7 上,但是出了些问题,下边我就来说下linux挂在U盘的步骤 电脑插上U盘 win + R运行 services.msc 找到虚拟机的USB服务并运行 ...
- 20165309 技能学习经验与C语言
技能学习经验与C语言 技能学习经验 你有什么技能比大多人(超过90%以上)更好?针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处? 从小到大,或是出于兴趣.或是出于父母的要求 ...
