#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上那样!的更多相关文章

  1. Gridview排序与分页-不使用“DataSourceControl DataSource”的情况下如何分页和排序 ...

    如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSou ...

  2. 发现护考上机考试的一个bug:附软件截图(模拟软件)

    目录: 一.文章主旨 二.问题发现的起因 三.bug(问题)描述 四.软件截图 五.我的思考 六.一点期盼 一.文章主旨: 2019年5月18.19.20日,又是一年一度的护资考试(上机考),考试前夕 ...

  3. Twin Prime Conjecture(浙大计算机研究生保研复试上机考试-2011年)

    Twin Prime Conjecture                                            Time Limit: 2000/1000 MS (Java/Othe ...

  4. Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例

    1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...

  5. python3.4下遍历文件目录,不需要再特殊处理中文编码

    python3.4下遍历文件目录,不需要再特殊处理中文编码 直接使用os.walk来遍历中文目录. os.walk方法返回的是一个三元 tupple(dirpath, dirnames, filena ...

  6. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

    一.题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  7. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态?

    https://alibaba.github.io/arthas/ Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决 ...

  8. HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  9. C#中怎样在ToolStripMenuItem下再添加子级菜单

    场景 在右键菜单ContextMenuStrip下添加子菜单选项可以通过 ContextMenuStrip menuStrip ToolStripMenuItem mnuChartOption = n ...

随机推荐

  1. 对nginx进行平滑升级

    1.查看服务器当前nginx版本 [root@instance-hwl9ix5l licenses]# nginx -v           #查看版本 nginx: nginx version: n ...

  2. hibernate例子

    首先下载好hibernate包 如果运行之后出现数据库连接错误  则重新把jar包位置放在web-inf的lib下面再addbulidpath 第一步:创建实体类 Hibernate要求实体类必须提供 ...

  3. [Spring] 04 Denpendency Injection

    DI Dependency Injection 依赖注入:从程序代码中移除依赖关系的一种设计模式. 这样就可以更容易地管理和测试应用程序. DI使我们的程序编码 loosely coupled.松耦合 ...

  4. test example

    #coding=utf-8 import os import caffe import numpy as np root='/home/xxx/caffe/' #根目录 deploy=root + ' ...

  5. v-for

    在实际的项目中,我们很多时候会碰到将JSON数据中的数组或对象渲染出列表之类的元素.在Vue中,提供了一个 v-for的指令,可以渲染列表. 组件和v-for 在自定义组件里,你可以像任何普通元素一样 ...

  6. Leetcode 1013. 总持续时间可被 60 整除的歌曲

    1013. 总持续时间可被 60 整除的歌曲  显示英文描述 我的提交返回竞赛   用户通过次数450 用户尝试次数595 通过次数456 提交次数1236 题目难度Easy 在歌曲列表中,第 i 首 ...

  7. nginx开启fileinfo扩展

    //实现网址 https://blog.csdn.net/m_nanle_xiaobudiu/article/details/80838424 (1) (2).make && make ...

  8. python中RabbitMQ的使用(远程过程调用RPC)

    在RabbitMQ消息队列中,往往接收者.发送者不止是一个身份.例如接接收者收到消息并且需要返回给发送者. 此时接收者.发送者的身份不再固定! 我们来模拟该情形: 假设有客户端client,服务端se ...

  9. Sona

    Sona Sona , Maven of the Strings . Of cause, she can play the zither. Sona can't speak but she can m ...

  10. button disable and enable

    1. disable <button id="buttonId" disabled>......</button> $("#buttonId&qu ...