C 程序对一组名字或字符串进行排序
在这个问题中,我们给定一个字符串数组。我们的任务是创建一个 c 程序来对一组名字或字符串进行排序。此程序将根据升序字母顺序对输入中给出的所有名字进行排序。
我们举个例子来理解一下这个问题,
输入
namesArray = ["Rishabh", "Jyoti", "Palak", "Akash"]
输出
["Akash", "jyoti", "palak", "Rishabh"]
为了解决这个问题,我们将使用标准模板库的 qsort() 函数,因为我们知道整数值的排序,这里改变的是,我们考虑字符串进行比较,而不是整数值。
因此,将更改在 qsort() 中使用的比较器,并且 strcmp() 将用于比较比较器中的字符串。通过这种方式,我们可以对一组名字或字符串进行排序。
C 程序对一组名字或字符串进行排序
示例
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int comparator(const void* str1, const void* str2) {
if(strcmp(*(const char**)str1, *(const char**)str2) >= 0)
return 1;
else return 0;
}
int main() {
const char* arr[] = {"Rishabh", "Jyoti", "Palak", "Akash"};
int n = sizeof(arr) / sizeof(arr[0]);
printf("
Given array of names: \t");
for (int i = 0; i < n; i++) printf("%s \t", arr[i]);
qsort(arr, n, sizeof(const char*), comparator);
printf("
Sorted array of names: \t");
for (int i = 0; i < n; i++)
printf("%s \t", arr[i]);
return 0;
}输出
Given array of names: Rishabh Jyoti Palak Akash Sorted array of names: Akash Jyoti Palak Rishabh
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP