字符串数组排序问题
2016-04-11 19:24
387 查看
创建一个字符串数组,总共5个元素,每个元素最多保存30个字符 ,写一个函数排序整个数组。 //方法一: #include <stdio.h> #include <string.h> void sort(char *arr[], int n) { char *tmp; int i, j, k; for (i = 0; i < n - 1; i++) //选择排序 { k = i; for (j = i + 1; j < n; j++) { if (strcmp(arr[k], arr[j])>0) { k = j; } } tmp = arr[i]; arr[i] = arr[k]; arr[k] = tmp; } } void print(char *arr[], int n) { int i = 0; for (i = 0; i < n; i++) { printf("%s\n", arr[i]); } } int main() { int n = 5; char *arr[] = { "abcde", "efghi", "hijkl", "bcdef", "defgh" }; sort(arr, n); print(arr, n); return 0; } //方法二: #include <stdio.h> #include <string.h> int main() { char arr[5][30] = { "aaaa", "cccc", "bbbb", "eeee", "dddd" }; int i = 0, j = 0; char tmp[30] = { 0 }; for (i = 0; i < 4; i++) //冒泡排序 { for (j = 0; j < 4 - i; j++) { if (strcmp(arr[j], arr[j + 1]) > 0) { strcpy(tmp, arr[j]); strcpy(arr[j], arr[j + 1]); strcpy(arr[j + 1], tmp); } } } for (i = 0; i < 5; i++) { printf("%s\n", arr[i]); } return 0; }
相关文章推荐
- C#实现移除字符串末尾指定字符的方法
- C语言中字符的输入输出以及计算字符个数的方法详解
- php按字符无乱码截取中文的方法
- 统计输入字符各个字母出现频率的解题思路
- 一个JavaScript处理textarea中的字符成每一行实例
- JS去掉第一个字符和最后一个字符的实现代码
- Juery解决tablesorter中文排序和字符范围的方法
- JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
- ASP中限制某些字符留言评论
- php中删除字符串中最先出现某个字符的实现代码
- js字符编码函数区别分析
- js判断是否含有GBK以外的字符的函数
- 使MySQL能够存储emoji表情字符的设置教程
- C# 去除首尾字符或字符串的方法
- oracle查询不含括号及不含指定字符的方法
- php表单敏感字符过滤类
- Shell脚本实现查找字符串中某字符最后出现的位置
- javascript实现网页字符定位的方法
- android同时控制EditText输入字符个数和禁止特殊字符输入的方法
- C语言中字符和字符串处理(ANSI字符和Unicode字符)