#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. 为什么HttpContextAccessor要这么设计?

    前言 周五在群里面有小伙伴问,ASP.NET Core这个HttpContextAccessor为什么改成了这个样子? 在印象中,这已经是第三次遇到有小伙伴问这个问题了,特意来写一篇记录,来回答一下这 ...

  2. XCTF练习题---WEB---baby_web

    XCTF练习题---WEB---baby_web flag:flag{very_baby_web} 解题步骤: 1.观察题目,打开场景 2.观察题目内容,想想初始页面是哪个,再看看URL,尝试输入in ...

  3. Go Context 原理详解

    实现一个小目标 很开心的一件事,学习了一个月的后端拿到一个13k的offer,今年年底目标拿到一个30k的go方向offer. 好了回归正文,这篇文章是回答交流时一个老哥的问题,跟go的context ...

  4. tensorflwo-gpu win10_64bit 的安装版本问题

    tensorflow 1.3 配 cuda8.0 + cudnn5.1tensorflow 1.4 配 cuda8.0 + cudnn6.0 有没有更大的字体???我要配!!!!!

  5. linux fedora35 配置jdk,安装mysql,安装tomcat

    配置jdk18很简单,下载jdk,只需要.tar.gz结尾的文件就行,https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.t ...

  6. 探索 Python/Django 支持分布式多租户数据库,如 Postgres+Citus

    在 确定分布策略 中,我们讨论了在多租户用例中使用 Citus 所需的与框架无关的数据库更改. 在这里,我们专门研究如何借助 django-multitenant 库将多租户 Django 应 用程序 ...

  7. DDoS攻击--TCP攻击概述

    https://blog.csdn.net/qq_34777600/article/details/81945594

  8. 通过python将阿里云DNS解析作为DDNS使用

    通过python将阿里云DNS解析作为DDNS使用 脚本需要Python2.x运行 安装alidns python sdk sudo pip install aliyun-python-sdk-ali ...

  9. AngularJS搭建环境

    一.搭建环境 1.1 调试工具:batarang Chrome浏览器插件 主要功能:查看作用域.输出高度信息.性能监控 1.2 依赖软件:Node.js 下载:https://nodejs.org/e ...

  10. 好客租房27-state的基本使用

    5.1state的基本使用 状态:数据 是组件内部的私有数据 只能再组件内部使用 state的值是对象 表示一个组件中可以有多个数据 获取数据 this.state //导入react     imp ...