• 直接插入排序--简单(c语言)


    //

    //  main.cpp

    //  straightinsert_sort

    //

    //  Created by duanqibo on 2019/7/17.

    //  Copyright © 2019年 duanqibo. All rights reserved.

    //  直接插入排序

    #include <iostream>

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    #define N 10

    //定义结构体的数据类型

    typedef struct student

    {

        int num;

        char name[20];

        char sex[2];

        int age;

    }stu[N];

    //按姓名,直接插入排序

    void straightinsert_sort(struct student stud[], int n)

    {

        int i, j;

        struct student temp;

        printf(" 按姓名排序: ");

        for (i = 1; i<n; i++)

        {

            temp = stud[i];

            j = i - 1;

            while ((j>=0) && (strcmp(temp.name, stud[j].name)<0))

            {

                stud[j + 1] = stud[j];

                j--;

            }

            stud[j + 1] = temp;

        }

    }

    int main(int argc, const char * argv[]) {

        // insert code here...

        struct student stu1[5];

        int i, len;

        printf("请输入5个学生的情况: ");

        for (i = 0; i<5; i++)

        {

            scanf("%d%s%s%d", &stu1[i].num,

                  stu1[i].name,

                  stu1[i].sex,

                  &stu1[i].age);

        }

        len = sizeof(stu1) / sizeof(stu1[0]);

        straightinsert_sort(stu1, len);

        printf("学号 姓名 性别 年龄 ");

        for (i = 0; i<len; i++)

        {

            printf("%d %s %s %d ", stu1[i].num,

                   stu1[i].name,

                   stu1[i].sex,

                   stu1[i].age);

        }

        printf("%d ", len);

        system("pause");

        return 1;

    }

    运行结果:

  • 相关阅读:
    SQL复杂查询和视图(2)
    SQL复杂查询和视图
    SQL语言概述
    元组演算与关系代数关系
    关系的元组演算
    线索二叉树
    二叉树的遍历
    树的基本概念
    【支付专区】之微信支付构建请求参数xml
    【支付专区】之微信支付请求数据签名
  • 原文地址:https://www.cnblogs.com/duanqibo/p/11200330.html
Copyright © 2020-2023  润新知