C 语言冒泡排序:实现字符串数组按名字升序排列示例
以下是一个使用 C 语言实现冒泡排序对字符串数组进行升序排列的示例代码: ```c #include <stdio.h> #include <string.h> // 交换两个字符串 void swap(char *str1[], char *str2[]) { char *temp = *str1; *str1 = *str2; *str2 = temp; } // 冒泡排序函数 void bubbleSort(char *arr[], int n) { int i, j; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (strcmp(arr[j], arr[j + 1]) > 0) { swap(&arr[j], &arr[j + 1]); } } } } // 打印字符串数组 void printArray(char *arr[], int size) { for (int i = 0; i < size; i++) printf("%s ", arr[i]); printf("\n"); } int main() { char *names[] = {"Alice", "Bob", "Charlie", "David", "Eve"}; int n = sizeof(names) / sizeof(names[0]); printf("排序前的名字数组:\n"); printArray(names, n); bubbleSort(names, n); printf("排序后的名字数组:\n"); printArray(names, n); return 0; } ``` 在上述代码中,`bubbleSort` 函数用于执行冒泡排序,通过比较字符串的字典序进行交换。`swap` 函数用于交换两个字符串的指针。`printArray` 函数用于打印字符串数组。在 `main` 函数中,创建了一个字符串数组,并调用排序函数和打印函数来展示排序前后的结果。 ######[AI写代码神器 | 430点数解答 | 2024-08-28 11:45:42]
- 深入解析格雷码生成算法:递归求解与代码实现(DeepSeek | 443点数解答 | 2026-01-05 12:21:49)69
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)495
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)479
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)421
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)445
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)95
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)128
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)57
- C++ 实现旋律类型判断:根据 7 个音符顺序输出升序、降序或混合(字节豆包 | 582点数解答 | 2026-03-21 19:41:16)19
- C++实现二进制转八进制及旋律类型判断(字节豆包 | 629点数解答 | 2026-03-21 19:50:41)28
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- Python 实现:四位数重组求最大最小数差值(字节豆包 | 144点数解答 | 2026-02-01 12:49:54)38