请教一个排序算法问题

hssg44 2010-08-06 07:57:04
首先我是从xml读取数据到dataset中

数据中有一个type的类型字段,数据至少有一种以上类型,可能为A,B 也有可能为A,B,C

原数据集为随机的,现在要求读取出来的数据要交错排序
现假定读出来的数据类型只有A,B
则排序后要显示成
A类一条
B类一条
A类一条
B类一条
....
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hssg44 2010-08-07
  • 打赏
  • 举报
回复
我现在的问题是类型不确定,可能是1个2个3个甚至更多。
遍历是免不了的,但是有没有什么算法,能够减少遍历的时间。
而且我现在连能够解决问题的算法都没有。。。
hssg44 2010-08-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
遍历dataset形成新datatable
或使用linq 通过索引%2形成新datatable
[/Quote]
不知道索引%2是什么意思,能不能详细说说。

[Quote=引用 3 楼 peter200694013 的回复:]
相同的不能相邻?

那如果是
i[0]=1
i[1]=2
i[2]=1
i[3]=1……
[/Quote]
相同可以相邻。
只是如果存在着不同,就一定要这样子错开来。如果都是相同,则也可以相邻。
bonnibell 2010-08-06
  • 打赏
  • 举报
回复
方式很多,遍历是免不了的,
Peter200694013 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hssg44 的回复:]
上面或者简单化模型,用数组也可以
int[] i = new int[]
i[0]=1
i[1]=1
i[2]=2
i[3]=2
i[4]=1

排序后

i[0]=1
i[1]=2
i[2]=1
i[3]=2
i[4]=1
[/Quote]

相同的不能相邻?

那如果是
i[0]=1
i[1]=2
i[2]=1
i[3]=1
i[4]=1
这个怎么个结果?
wuyq11 2010-08-06
  • 打赏
  • 举报
回复
遍历dataset形成新datatable
或使用linq 通过索引%2形成新datatable
hssg44 2010-08-06
  • 打赏
  • 举报
回复
上面或者简单化模型,用数组也可以
int[] i = new int[]
i[0]=1
i[1]=1
i[2]=2
i[3]=2
i[4]=1

排序后

i[0]=1
i[1]=2
i[2]=1
i[3]=2
i[4]=1

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧