首页 > 其他分享 >qsort实现函数排序(2)

qsort实现函数排序(2)

时间:2024-03-20 22:29:06浏览次数:24  
标签:arr 函数 int void qsort name stu 排序 struct

qsort实现结构体排序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct stu
{
	char name[20];
	int age;
};
int cmp_by_name(void* p1, void* p2)
{
	return strcmp(((struct stu*)p1)->name, ((struct stu*)p2)->name);
}
void print(struct stu arr[], int k)
{
	int i = 0;
	for (i = 0;i < k;i++)
	{
		printf("%s ", arr[i]);
	}
	printf("\n");
}
void test()
{
	struct stu arr[3] = { {"zhangsan",20}, {"lisi",19} ,{"wamgwu",31}};
	int sz = sizeof(arr) / sizeof(arr[0]);
	qsort(arr,sz ,sizeof(arr[0]), cmp_by_name);
	print(arr,sz);
}
int main()
{
	test();
	return 0;
}

如果对你有帮助的话就请点个赞吧

标签:arr,函数,int,void,qsort,name,stu,排序,struct
From: https://blog.csdn.net/white16_/article/details/136890697

相关文章

  • JavaScript 中的函数式编程
    一、问题背景例子下面的代码是一个函数式编程的例子我们先观察一下里面有哪些特殊的语法点,再一一讲解constprogrammerOutput=[{name:'UncleBobby',linesOfCode:500,},{name:'SuzieQ',linesOfCode:1500,},{name:'JimmyGosl......
  • 插入排序
    插入排序1.解决的问题在已经排好序的序列中,插入一个新元素,让序列依旧保持有序,如优先级队列2.核心知识0个或者1个元素,已经是排好序的交换位置的条件(升序):当前元素比后者大(sequeue[i]>sequeue[i+1])当前元素比前者小(sequeue[i]<sequeue[i-1])2层循环第1层:准......
  • c#实现图的拓扑排序
    原文链接:https://blog.csdn.net/MfuuJava/article/details/132933517拓扑排序是一种在有向无环图(DAG)中对节点进行排序的算法。在C#中,我们可以使用深度优先搜索(DFS)和拓扑排序算法来解决这个问题。深度优先代码:usingSystem;usingSystem.Collections.Generic;classGraph......
  • 六、函数
    本章专题脉络1、函数的基本使用1.1为什么需要函数《街霸》游戏中,每次人物出拳、出脚或跳跃等动作都需要编写50-80行的代码,在每次出拳、出脚或跳跃的地方都需要重复地编写这50-80行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将出拳、出脚或跳......
  • 字符串常用函数简易模拟
    strlensize_tMy_strlen(char*str){intcount=0;while(*str){count++;str++;}returncount;}strcpychar*my_strcpy(char*dest,constchar*src){char*ret=dest;//拷贝src指向的字符串到dest指向的空间,......
  • MySQL学习八:窗口函数(一)
    目录一、窗口函数1.窗口函数定义2.窗口函数语法3.演示表格一4.窗口的确定4.1例1:查询各班级总分4.2例2:查询各班级累计总分4.3分区子句(partitionby)4.4排序子句(orderby)4.5窗口子句(rows)4.6总体执行流程5.函数分类5.1排序类函数5.2聚合类函数5.3跨行类函数......
  • 归并排序算法 java实现
    publicstaticvoidmain(String[]args){int[]arr={9,5,7,3,1,6,8,4,2};mergeSort(arr,0,arr.length-1);}/***归并排序*注意:归并的拆分数组和合并数组是从左到右依次进行的,网上很多文章都是错误的*并不是左右一起拆分,网上很多文章都是这样的......
  • 在sort中传入仿函数
    仿函数就是用来控制排列顺序的map<int,int,Compare>是这样,list.sort()也是这样.//List双向链表.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<iostream>#include<list>usingnamespacestd;structCompare{ booloperator()(constint&......
  • 你真的了解c语言的10大字符串函数吗?
    乐观学习,乐观生活,才能不断前进啊!!!我的主页:optimistic_chen我的专栏:c语言点击主页:optimistic_chen和专栏:c语言,创作不易,大佬们点赞鼓励下吧~前言:长度不受限制的字符串函数-strcpy,strcat,strcmp长度受限制的字符串函数-strncpy,strncat,strncmp文章目录前言:1.st......
  • 字符串函数
    这些字符串函数一定加头文件#include<string.h>strlen函数:1.它的功能:计算字符串的长度 2.strlen的实现:intmy_strlen(constchar*str){intcount=0;assert(str);while(*str){count++;str++;}returncount;}strcut函数:1.这个函数实现的是字......