Arrays 如何对不同时间的数组进行排序?
所以我有一个不同时间段的数组,但是我想把时间从最早的时间段整理到最晚的时间段,但是,我还想删除数组中时间值为12:00am的任何元素Arrays 如何对不同时间的数组进行排序?,arrays,vb.net,algorithm,sorting,Arrays,Vb.net,Algorithm,Sorting,所以我有一个不同时间段的数组,但是我想把时间从最早的时间段整理到最晚的时间段,但是,我还想删除数组中时间值为12:00am的任何元素 Appointment(0) = #10:45:00 AM# Appointment(1) = #12:00:00 AM# 'My actual has up 80 elements of different timeslots but I'm using 3 elements as an example Appointment(2) = #12:00:00 AM
Appointment(0) = #10:45:00 AM#
Appointment(1) = #12:00:00 AM# 'My actual has up 80 elements of different timeslots but I'm using 3 elements as an example
Appointment(2) = #12:00:00 AM#
有人能帮我解决这个问题吗?如果您使用的是字符串数组,那么使用字符串数组不是一个好主意,只需使用日期时间列表和排序方法即可
Net中没有用于从数组中删除特定项的内容,但可以使用LINQ将其简化:
Dim Appointment = {#10:45#, #12AM#, #12AM#}
Appointment = (From a In Appointment Where a <> #12AM# Order By a).ToArray
更有效的替代方法是使用通用集合,如列表或SortedSet:
这是家庭作业吗?i、 你必须使用数组,还是其他数据结构可以?这是我大学的编程作业,是的,我已经在代码中基于数组构造了主要算法,所以我不能使用任何其他数据结构。你允许使用内置排序吗?是的,但我不确定如何使用该方法所有这些解析内容都是不必要的;上午10:45:00已经是日期文字。所以这只是一种类型,它没有按要求删除12:00 AM。@瑞安编辑删除空白空间的原因,因为我记得格式应该是:07:00:为什么你认为使用一个专门的通用集合,如列表是比LINQ更好的选择?@ JimMISCHEL,我想这是有点主观的,所以我把它变成了高效的。更好的方法是减少LINQ开销,可能减少内存分配,并且对于编程新手来说可能更容易
Dim Appointment = {#10:45#, #12AM#, #12AM#}
Appointment = (From a In Appointment Where a <> #12AM# Order By a).ToArray
Appointment = Appointment.Except({#12AM#}).ToArray
Array.Sort(Appointment)
Dim list = New List(Of Date) From {#10:45#, #12AM#} ' or Dim list = Appointment.ToList
list.Add(#12AM#)
list.RemoveAll(Function(a) a = #12AM#)
list.Sort()