【发布时间】:2013-08-23 17:29:13
【问题描述】:
我是编程新手,目前正在学习 C。我已经在这个问题上工作了一周,但我似乎无法理清逻辑。这直接来自我正在使用的书:
构建一个使用字符串数组存储以下名称的程序:
- “佛罗里达”
- “俄勒冈”
- “加利福尼亚”
- “格鲁吉亚”
使用前面的字符串数组,编写您自己的
sort()函数,使用strcmp()函数按字母顺序显示每个州的名称。
所以,假设我有:
char *statesArray[4] = {"Florida", "Oregon", "California", "Georgia"};
我应该嵌套for循环吗,比如strcmp(string[x], string[y])...?我已经破解并破解了。我只是无法理解解决这个问题所需的算法,甚至有点有效。帮助 非常感谢!!!
【问题讨论】:
-
你可能应该对排序算法做一点研究,数字列表排序和单词列表按字母顺序排序的唯一区别是比较方法,这很容易做到
-
退后一步,去喝杯好茶什么的。当你回到这一点时,一次迈出一步。首先填充该数组,然后您可以担心排序。
-
@GeorgeMitchell 1) 对 4 个元素进行快速排序? 2)鉴于发帖者对编程比较陌生,如果他进行冒泡/插入/选择排序可能会更好,只是为了能够编写逻辑。
-
@GeorgeMitchell 快速排序对于初学者来说可能不是最简单的解决方案。我建议从物理类比开始 - 如果我给你一堆棒球卡或其他东西,并告诉你对它们进行分类,你会怎么做?很少有人会想出快速排序。我怀疑大多数人基本上会从插入或选择排序开始。
标签: c algorithm sorting strcmp