首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一周中的分类日

问一周中的分类日
EN

Stack Overflow用户
提问于 2013-08-07 05:18:06
回答 3查看 395关注 0票数 2

好的,我有一个数组,按顺序列出5个工作日:

代码语言:javascript
复制
char *days[5]={"Monday","Tuesday","Wednesday","Thursday","Friday"};

现在,我有了一些结构数组,其中一个元素是一周中的几天,它们不是按顺序排列的,它们是随机排列的,例如:

代码语言:javascript
复制
d[0].day is "Thursday"
d[1].day is "Monday"
d[2].day is "Wednesday"

现在,不方便的是,天不按alpha顺序排列:p,这让我想知道如何实现某种=/。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-07 05:37:32

我认为最好把一周中的每一天都搞清楚。比如:

代码语言:javascript
复制
enum Days{
    Monday = 1,
    Tuesday,
    Wednesday,
    Thursday,
    Friday
}

然后按函数获取日数据,如

代码语言:javascript
复制
void  printDays(enum d,char * buffer)
{
 const char *daysName[] = {"Monday","Tuesday","Wednesday","Thursday","Friday"};
 memcpy(buffer,daysName[d-1]);
}

然后当你用

代码语言:javascript
复制
 d[0].day is "Thursday"
d[1].day is "Monday"
d[2].day is "Wednesday"

这是很容易排序的.It实际上只是存储1,2,3,4,5!

票数 2
EN

Stack Overflow用户

发布于 2013-08-07 05:27:06

好的,要正确地排序,您需要能够比较两个结构,并查看哪个是前面的结构。一旦你有了它,你可以使用它与你最喜欢的排序算法排序。

要转换s1和s2,您需要将s1.day和s2.day转换为数字--星期一为0,星期二为1,等等.然后比较这些数字。将一个天字符串转换为一个数字在days数组上很容易循环,并查看其中的哪个条目与s1.day相同。

票数 1
EN

Stack Overflow用户

发布于 2013-08-07 05:37:23

编写一个函数,该函数以一周中的一天为参数并返回一个int。周日返回1,星期一返回2,以此类推。

然后编写另一个以两天为参数的函数,并使用第一个函数返回前一天。

现在,使用这两个函数,您可以实现任何标准排序算法。和分类号码一样。

或,

您可以有另一个与包含您的结构的数组大小相同的数组。然后将结构复制到新数组中,但首先复制所有周日,然后复制所有星期一,以此类推。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18095187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档