首页 > 代码库 > c/c++ qsort 函数 结构体简单使用(1)
c/c++ qsort 函数 结构体简单使用(1)
1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 5 typedef struct student { 6 char *name; 7 }; 8 9 void scan(student stu[], int &n){ 10 char str[1024]; 11 scanf("%d", &n); 12 for(int i = 0; i < n; ++i){ 13 scanf("%s", str); 14 int len = strlen(str); 15 stu[i].name = (char *)malloc((len + 1) * sizeof(char)); 16 strcpy(stu[i].name, str); 17 } 18 } 19 20 void print(student stu[], int n){ 21 printf("%d\n", n); 22 for(int i = 0; i < n; ++i){ 23 printf("%s ", stu[i].name); 24 } 25 puts(""); 26 } 27 //按字典序 排序 28 int comp(const void *a, const void *b){ 29 student *numa = (student *)a, *numb = (student *)b; 30 return strcmp(numa->name, numb->name); 31 } 32 33 int main(){ 34 int n; 35 student stu[10]; 36 scan(stu, n); 37 38 print(stu, n); 39 40 qsort(stu, n, sizeof(student), comp); 41 42 print(stu, n); 43 return 0; 44 } 45 /* 46 10 47 9只小昆虫 48 8只小昆虫 49 7只小昆虫 50 6只小昆虫 51 5只小昆虫 52 4只小昆虫 53 3只小昆虫 54 2只小昆虫 55 1只小昆虫 56 0只小昆虫 57 58 */
c/c++ qsort 函数 结构体简单使用(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。