#include<stdio.h>
#define MAXSIZE 100
typedef int KeyType;
typedef struct
{
KeyType key;
}RecordType;
typedef struct
{
RecordType r[MAXSIZE+1];
int length;
}RecordList;
RecordList L;
/*
void InsertSort(RecordList L)
{
int j;
for(int i=2;i<=L.length;i++)
{
L.r[0].key=L.r[i].key;
for(j=i-1;L.r[0].key<L.r[j].key;j--)
L.r[j+1]=L.r[j];
L.r[j+1].key=L.r[0].key;
}
}*/
//直接插入排序的函数
void InsertSort(RecordList *L) //形参需要传入一个纪录表
{
int i, j;
for (i = 2; i <= L->length; i++)
{
L->r[0] = L->r[i]; //将待插纪录设为监视哨
for (j = i-1; L->r[0].key < L->r[j].key; j--)
L->r[j+1] = L->r[j]; //如果比较发现小于j位置的值就,纪录后移
L->r[j+1] = L->r[0]; //将待查纪录插到正确位置
}
}
void BubbleSort(RecordList *L)
{
RecordList t;
int j;
int flag=1;
for(int i=1;flag;i++)
{
flag=0;//重置真假
for(j=1;j<=L->length-i;j++)
if(L->r[j].key>L->r[j+1].key)
{
t.r[0]=L->r[j];
L->r[j]=L->r[j+1];
L->r[j+1]=t.r[0];
flag=1;
}
}
}
int main()
{
KeyType key;
RecordList L1;
int num,i;
int j;
scanf("%d",&L1.length);
{ printf("请输入5个数:\n");
for(i=1;i<=L1.length;i++)
scanf("%d",&L1.r[i]);
}
printf("\n");
printf("请输入你要选择的排序方式(1/2):");
printf("1.直接插入法!");
printf("2.冒泡排序法!");
scanf("%d",&num);
switch(num)
{
case 1:InsertSort(&L1);
break;
case 2:BubbleSort(&L1);
break;
default:
printf("输入错误!");
}
for(i=1;i<=L1.length;i++)
{
printf("%3d",L1.r[i]);
}
}

C语言-直接排序的更多相关文章

  1. 帮初学者改代码——有多少青春可以挥霍之“c语言 多重排序”

    原文:“c语言 多重排序” 原代码: #include<stdio.h> #include<string.h> struct A { char name[100]; int g ...

  2. go语言的排序和去重

    go语言的排序: https://blog.csdn.net/u010983881/article/details/52460998 go语言去重: https://blog.csdn.net/qq_ ...

  3. C语言实现排序

    //C语言版排序#include<stdio.h> #include<stdlib.h> //冒泡排序 void bubleSort(int data[], int n); / ...

  4. go语言的排序和搜索(转载)

    http://studygolang.com/articles/1598 go语言的排序和搜索 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜 ...

  5. GO语言练习:第一个Go语言工程--排序

    1.代码 2.编译 3.运行 1.代码框架 /home/fengbo/sorter $ tree . ├── bin ├── pkg ├── readme.txt └── src ├── algori ...

  6. C语言常用排序全解(转)

    目的:重温经典排序思想,并用C语言指针实现排序算法================================================*/ /*====================== ...

  7. linux / centos 安装SQL Server 2017 设置默认语言与排序规则Chinese_PRC_CI_AS

    安装 安装很简单参照官方教程 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sq ...

  8. go语言的排序、结构体排序

    原文:https://studygolang.com/articles/1598 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜索 searc ...

  9. [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...

  10. c语言选择排序

    简单选择排序是经常用到的一种排序算法. 原理: 1.简单选择排序一句话概括:每次选择无序数列中最小的将其放在有序数列的最后. 2.在简单选择排序中,我们用初始化的数字int a[6]={2,5,6,3 ...

随机推荐

  1. springmvc03-restful和控制器

    一.控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中一个控制器类可以包含 ...

  2. 封闭的一个多月,老菜鸟的 机械手和AGV 自动搬运小项目总结

    最近上海疫情严重,闲赋在家无事可做,手机里不断的推送一些无脑的谩骂声音,索性找点事情做,将3月份实施的一个自动搬运小项目做一个简单的汇总,便于今后项目实施中积累一些经验.项目需求非常简单,因为能力有限 ...

  3. redis支持的5种数据类型

    Redis 支持的数据类型:string(字符串).list(列表).hash(字典).set(集 合),zset(有序集合).以下key均为1,此些命令均可直接在redis-cli.exe中执行 s ...

  4. 【导包】使用Sklearn构建Logistic回归分类器

    官方英文文档地址:http://scikit-learn.org/dev/modules/generated/sklearn.linear_model.LogisticRegression.html# ...

  5. 攻防世界web进阶题—unfinish

    攻防世界web进阶题-unfinish 1.看一下题目提示SQL 2.打开题目看一下源码,没有问题 3.查一下网站的组成:php+Apache/2.4.7+Ubuntu 4.扫一下目录,扫到一个注册页 ...

  6. 异步编程利器:CompletableFuture

    一.一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度. JDK5新增了Future接口,用于描述一个异步计算的结果.虽然 Future 以及相关使用方法提供了异步 ...

  7. vue中blob文件下载及其它下载方式

    一.Blob对象的了解 1:blob表示一个不可变.原始数据的类文件对象.Blob()构造函数返回一个新的blob对象:blob对象的内容由参数给出的值串联组成: 2:new Blob(array, ...

  8. ElasticSearch7.3学习(二十五)----Doc value、query phase、fetch phase解析

    1.Doc value 搜索的时候,要依靠倒排索引: 排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序. 所谓的正排索引,其实就是doc values. 在建立索引 ...

  9. 706. Design HashMap - LeetCode

    Question 706. Design HashMap Solution 题目大意:构造一个hashmap 思路:讨个巧,只要求key是int,哈希函数选择f(x)=x,规定key最大为100000 ...

  10. 205. Isomorphic Strings - LeetCode

    Question 205. Isomorphic Strings Solution 题目大意:判断两个字符串是否具有相同的结构 思路:构造一个map,存储每个字符的差,遍历字符串,判断两个两个字符串中 ...