博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对结构体数组进行冒泡排序(根据名字大小)
阅读量:4088 次
发布时间:2019-05-25

本文共 1342 字,大约阅读时间需要 4 分钟。

对结构体数组进行冒泡排序(根据名字大小)

typedef struct avperson{    char name[30];    int age;    char bust;    char product[50];}AVPerson;AVPerson per1 = {"cangJingKong", 25, 'D', "secondDream"};        AVPerson per2 = {"longZeLuoLa", 22, 'C', "daMingGong"};        AVPerson per3 = {"buoDuoYeJieYi", 27, 'D', "jiaYouXianQi"};        AVPerson per4 = {"jiZeMingBu", 24, 'E', "yiLuXingXi"};        AVPerson arr[4] = {per1, per2, per3, per4};        //打印出每一个元素的信息    for (int i = 0; i < 4; i++) {                printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product);            }        printf("------------------------------------------\n");        for (int i = 0; i < 4 - 1; i++) {                for (int j = 0; j < 4 - 1 - i; j++) {                        if (strcmp(arr[j].name, arr[j+1].name) < 0) {                                AVPerson temp = arr[j];                arr[j] = arr[j+1];                arr[j+1] = temp;            }        }    }        printf("按名字大小比较排序后:\n");        for (int i = 0; i < 4; i++) {                printf("%13s -- %d -- %c -- %s\n", arr[i].name, arr[i].age, arr[i].bust, arr[i].product);    }

需要注意的问题:

  1. 结构体数组的定义:本题中的定义格式为 AVPerson arr[4] ={per1, per2, per3, per4
    };  其中结构体数组的类型和每个结构体的类型一样,都是AVPerson
  2. 冒泡排序的关键代码中,比较的是名字的字符大小,交换的是av女优在数组的位置,所以定义一个同样数据类型的结构体数组AVPerson temp = {0}来接收交换值.

控制台运行示例:

你可能感兴趣的文章
设计模式 依赖倒转原则 & 里氏代换原则
查看>>
DirectX11 光照
查看>>
图形学 图形渲染管线
查看>>
DirectX11 计时和动画
查看>>
DirectX11 光照与材质的相互作用
查看>>
DirectX11 法线向量
查看>>
DirectX11 兰伯特余弦定理(Lambert)
查看>>
DirectX11 漫反射光
查看>>
DirectX11 环境光
查看>>
DirectX11 镜面光
查看>>
DirectX11 三种光照组成对比
查看>>
DirectX11 指定材质
查看>>
DirectX11 平行光
查看>>
DirectX11 点光
查看>>
DirectX11 聚光灯
查看>>
DirectX11 HLSL打包(packing)格式和“pad”变量的必要性
查看>>
DirectX11 光照演示示例Demo
查看>>
漫谈一下前端的可视化技术
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>