栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言快排函数的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言快排函数的使用

 要点1:头文件

#include
#include  //包含qsort函数

要点2:qsort函数的参数

//以整形数组a[]为例,排序前n个

qsort(a,n,sizeof(a[0],cmp);

//四个参数依次为:数组名,排n项,单个数据的内存占用大小,排序的升降

要点3:cmp函数

//以整形为例

int cmp(const void *a,const void *b)
{
   return *(int *)a - *(int *)b; //从小到大排序,a,b互换则是从大到小排序
}

对字符串数组的排序(char s[][]型):

#include 
#include 
#include 
char s[100][100];
int i, n;
int cmp(const void *a, const void *b)
{
     return (strcmp((char*)a, (char*)b));
}

int main()
{
     scanf("%d", &n);
     for(i = 0; i < n; i++) 
         scanf("%s", s[i]);

     qsort(s, n, sizeof(s[0]), cmp);

     for(i = 0; i < n; i++)
         printf("%sn", s[i]);

     return 0;
}
1

 

应用实例:

竞选投票

描述

得到超过一半班级的支持就可以当选,而每个班的投票结果是由该班级的所有同学投票产生,如果超过一半的同学支持小鲁,则他将赢得这个班级的支持。

现在给出每个班级的学生人数,至少需要得到多少票才能当选。

输入

多组输入数据

每组数据的第一行包括一个整数N(1<=N<=101),表示班级数,接下来一行包括N个正整数,分别表示每个班的学生人数,用空格隔开。

输出

输出一个数据,表示至少需要的票数。

输入样例 1 

5
20 18 17 16 19

输出样例 1

28
#include
#include 
#include

int a[101],n;

int cmp(const void *a,const void *b)
{
	return (*(int *)a - *(int *)b);
}


int main()
{
    scanf("%d",&n);
    
	for(int i=0; i 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号