当前位置:   article > 正文

输入n个字符串,进行排序,然后从小到大输出

一行内输入n个字符串,按字典序从小到大进行排序后输出。

/******************************************************************************************* ** 函 数名 称: CompareString() ** 作 者: zyh ** 版 本: 1.0.0 ** 日 期: 2011-6-20 ** 功 能 描 述: 输入n个字符串,从小到大输出 ** 被本函数调用的函数清单: ** 调用本函数的函数清单: ** 被访问的表: ** 被修改的表 : ** 输 入: char *string_array_in[] --- 输入数组 int total --- 数组元素个数 ** 输 出: char *string_array_out[] --- 输出结果数组 ** 返 回 值: 无 ** 其 他: ** 修 改 历史: 1. 修改时间: 修 改 者: 版 本: 修改简述: 2. ...... *********************************************************************************************/ void CompareString(char *string_array_in[], char *string_array_out[], int total) /* 实质上是选择排序法 */ { int liv_i ; /* 挨个元素查找,比较轮数,N个元素比较N-1轮 */ int liv_j; /* 第i个元素比较N-1-i次 */ int small; /* 选择排序法,存放最小元素的下标 */ char *temp; /* 交换临时变量 */ for (liv_i = 0; liv_i < total -1; liv_i++) { small = liv_i; for (liv_j = liv_i+1; liv_j < total; liv_j++) { if ( strcmp(string_array_in[liv_j],string_array_in[small]) <0 ) /* 不能用 if (string_array_in[liv_j] < string_array_in[small] ) */ { small = liv_j; } } if (small != liv_i) { temp = string_array_in[small]; string_array_in[small] = string_array_in[liv_i]; string_array_in[liv_i] = temp; } } for (liv_i = 0; liv_i < total; liv_i++) { string_array_out[liv_i] = string_array_in[liv_i]; } }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/651303
推荐阅读
相关标签
  

闽ICP备14008679号