21xrx.com
2025-03-24 13:28:14 Monday
文章检索 我的文章 写文章
如何让C语言代码实现字典序排序
2023-06-16 15:50:14 深夜i     --     --
C语言 字典序排序 比较函数 快速排序 归并排序 qsort函数

文章

在计算机编程中,对于一些需要排序的数据集合,字典序排序是常见的排序算法之一。在C语言中,我们可以轻松实现字典序排序。首先,我们需要根据字典序的排序规则,编写一个比较函数,用于比较两个字符串的大小。然后,我们可以使用快速排序或归并排序等算法对字符串数组进行排序,最终实现字典序排序。

下面是一个示例程序,演示如何实现字典序排序:

#include 
#include 
int str_compare(const void* a, const void* b) {
  const char* str1 = *(const char**)a;
  const char* str2 = *(const char**)b;
  return strcmp(str1, str2);
}
void dict_sort(char* arr[], int n) {
  qsort(arr, n, sizeof(char*), str_compare);
}
int main() {
  char* arr[] = {"alpha", "beta", "gamma", "delta", "epsilon"};
  int n = sizeof(arr) / sizeof(char*);
  dict_sort(arr, n);
  printf("Sorted array: ");
  for (int i = 0; i < n; i++) {
    printf("%s ", arr[i]);
  }
  printf("\n");
  return 0;
}

在上面的程序中,我们首先定义一个比较函数 str_compare,根据字典序的排序规则比较两个字符串的大小。然后,我们使用 qsort 函数对字符串数组进行排序,最终得到一个按字典序排序后的数组。

  
  

评论区