C语言数组排序
2020-02-02 07:30
351 查看
有些时候要用char型的数组来储存学号、证件号,这时候的排序就不能简单的用比较大小的方式来完成了。
可以使用C语言头文件#include<string.h>的库函数: strcmp(str_1,str_2)来完成
在结构体里重载了运算符>
下面是strcmp的简单使用及冒泡排序
typedef struct Student { char id_number[11] = { '\0' }; char name[7] = { '\0' }; char m_grade[4] = { '\0' }; char e_grade[4] = { '\0' }; int operator>(Student& other) { char* id_1, *id_2; id_1 = id_number; id_2 = other.id_number; if (strcmp(id_1,id_2)>0) { return 1; } else { return 0; } } }Stu; void swap(Stu& other, Stu& another) { Stu temp; temp = other; other = another; another = temp; } void bubble_sort(Stu *students,int &length) { int i, j; if (length > 1) { for (i = 0; i < length; i++) { for (j = i + 1; j < length; j++) { if ((students[i] > students[j]) == 1) { swap(students[i], students[j]); } } } } }
- 点赞 2
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【学习ios之路:C语言】一维数组,数组排序,字符数组
- 【C语言】编写冒泡排序,排序一个整形数组。
- 快速排序_C语言_数组
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都按照从左到右的递增的顺序排序,输入这样的一个数组和一个数,判断数组中是否包含这个数
- c语言:编写冒泡排序,排序一个整形数组(从小到大)
- 【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
- 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素
- c语言实现二维数组排序,一个4*5的数组,要求每行都进行升序排列,并求出每行的平均值。
- 用C语言编写一个程序,对整型数组排序(冒泡排序,选择排序)
- C语言中的数组排序
- c语言合并两个已排序数组的示例(c语言数组排序)
- C语言数组实现冒泡排序和选择排序程序
- 【c语言】统计一个数字在排序数组中出现的次数
- 从排序数组中删除重复项【附C语言代码】
- EKAlgorithms-常用数据结构Objective-C语言实现一数组排序
- 关于C语言数组利用指针排序的问题
- c语言排序后删除数组中重复的数字再排序输出
- C语言:数组排序(插入排序、选择排序、泡排序、谢尔排序、快速排序、堆排序)
- 【C语言】数字在排序数组中出现的次数(改动)
- C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。