导图社区 C 语言实例 - 字符串排序
这是一篇关于C 语言实例 - 字符串排序的思维导图,主要内容包括:方法 2: 使用冒泡排序,方法 1: 使用 qsort 函数。
这是一篇关于64、 C 语言实例 - 计算两个时间段的差值的思维导图,主要内容包括:方法2:手动计算时间差,方法1:使用struct tm和mktime函数。
这是一篇关于C 语言实例 - 复数相加的思维导图,主要内容包括:方法2:使用数组表示复数,方法1:使用结构体表示复数。
这是一篇关于C 语言实例 - 使用结构体(struct)的思维导图,主要内容包括:2. 使用typedef简化结构体类型名,1. 定义结构体。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
C 语言实例 - 字符串排序
方法 1: 使用 qsort 函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*比较函数,用于 qsort*/
int compare_strings(const void* a, const void* b) {
return strcmp(*(const char**)a, *(const char**)b);
}
int main() {
const char* strings[] = { "apple", "banana", "cherry", "date", "elderberry" };
int n = sizeof(strings) / sizeof(strings[0]);
/*使用 qsort 对字符串数组进行排序*/
qsort(strings, n, sizeof(const char*), compare_strings);
/*输出排序后的字符串数组*/
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
return 0;
方法 2: 使用冒泡排序
void bubble_sort(char* arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(arr[j], arr[j + 1]) > 0) {
/*交换两个字符串*/
char* temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
char* strings[] = { "apple", "banana", "cherry", "date", "elderberry" };
/*使用冒泡排序对字符串数组进行排序*/
bubble_sort(strings, n);