求高手中的高手帮忙一个排列输出问题
时间:2011-11-28
来源:互联网
我需要把一个房源信息按照一下规则输出来:
1、按小区优先输出(同小区的房源放一起输出)
2、同小区的房源,按发布者间隔输出(如:小区1 --发布者张三,小区1 发布者李四,小区1 发布者王五 )
3、同小区且同个发布者的房源不能紧挨着输出,仅当没有其他发布者的时候才紧挨着输出(如:如:小区1 --发布者张三,小区1 发布者李四,小区1-发布者张三 小区1-发布者张三
。
以下是我模拟的数据,请高手帮忙写个程序 实现以上需求!
(贴上源码)
Option Explicit
Private Type house
user As String '房源发布者
houseInfo() As String '房源信息
isout() As Boolean '标注是否已经被输出过,我自己的想法,可以不要这个
'注释:每个房源发布者可发布多条房源信息
End Type
Dim h(3) As house
'初始化各发布者的房源信息还没有输出过
Sub initIsout(ByRef out() As Boolean)
Dim i As Integer
For i = 0 To UBound(out)
out(i) = False
Next
End Sub
Private Sub Form_Load()
'构建的模拟房源信息
ReDim h(0).houseInfo(2)
ReDim h(0).isout(2)
Dim i As Integer
h(0).user = "张三"
h(0).houseInfo(0) = "小区1"
h(0).houseInfo(1) = "小区1"
h(0).houseInfo(2) = "小区2"
Call initIsout(h(0).isout)
ReDim h(1).houseInfo(3)
ReDim h(1).isout(3)
h(1).user = "李四"
h(1).houseInfo(0) = "小区1"
h(1).houseInfo(1) = "小区2"
h(1).houseInfo(2) = "小区2"
h(1).houseInfo(2) = "小区3"
ReDim h(2).houseInfo(1)
ReDim h(2).isout(1)
h(2).user = "王五"
h(2).houseInfo(0) = "小区2"
h(2).houseInfo(1) = "小区3"
ReDim h(3).houseInfo(5)
ReDim h(3).isout(5)
h(3).user = "赵六"
h(3).houseInfo(0) = "小区1"
h(3).houseInfo(1) = "小区1"
h(3).houseInfo(2) = "小区1"
h(3).houseInfo(3) = "小区1"
h(3).houseInfo(4) = "小区1"
h(3).houseInfo(5) = "小区3"
End Sub
'需要编写的输出代码
Function outputHouse()
'可保存到记事本,或窗体上文本框 ,或一个字符串变量
'能实现就行了
End Function
'请高手帮忙!谢谢,在线等!
1、按小区优先输出(同小区的房源放一起输出)
2、同小区的房源,按发布者间隔输出(如:小区1 --发布者张三,小区1 发布者李四,小区1 发布者王五 )
3、同小区且同个发布者的房源不能紧挨着输出,仅当没有其他发布者的时候才紧挨着输出(如:如:小区1 --发布者张三,小区1 发布者李四,小区1-发布者张三 小区1-发布者张三
。
以下是我模拟的数据,请高手帮忙写个程序 实现以上需求!
(贴上源码)
Option Explicit
Private Type house
user As String '房源发布者
houseInfo() As String '房源信息
isout() As Boolean '标注是否已经被输出过,我自己的想法,可以不要这个
'注释:每个房源发布者可发布多条房源信息
End Type
Dim h(3) As house
'初始化各发布者的房源信息还没有输出过
Sub initIsout(ByRef out() As Boolean)
Dim i As Integer
For i = 0 To UBound(out)
out(i) = False
Next
End Sub
Private Sub Form_Load()
'构建的模拟房源信息
ReDim h(0).houseInfo(2)
ReDim h(0).isout(2)
Dim i As Integer
h(0).user = "张三"
h(0).houseInfo(0) = "小区1"
h(0).houseInfo(1) = "小区1"
h(0).houseInfo(2) = "小区2"
Call initIsout(h(0).isout)
ReDim h(1).houseInfo(3)
ReDim h(1).isout(3)
h(1).user = "李四"
h(1).houseInfo(0) = "小区1"
h(1).houseInfo(1) = "小区2"
h(1).houseInfo(2) = "小区2"
h(1).houseInfo(2) = "小区3"
ReDim h(2).houseInfo(1)
ReDim h(2).isout(1)
h(2).user = "王五"
h(2).houseInfo(0) = "小区2"
h(2).houseInfo(1) = "小区3"
ReDim h(3).houseInfo(5)
ReDim h(3).isout(5)
h(3).user = "赵六"
h(3).houseInfo(0) = "小区1"
h(3).houseInfo(1) = "小区1"
h(3).houseInfo(2) = "小区1"
h(3).houseInfo(3) = "小区1"
h(3).houseInfo(4) = "小区1"
h(3).houseInfo(5) = "小区3"
End Sub
'需要编写的输出代码
Function outputHouse()
'可保存到记事本,或窗体上文本框 ,或一个字符串变量
'能实现就行了
End Function
'请高手帮忙!谢谢,在线等!
作者: qq2272941360 发布时间: 2011-11-28
注:同个发布者的房源信息已经按照小区来排列了的。如:
Dim i As Integer
h(0).user = "张三"
h(0).houseInfo(0) = "小区1"
h(0).houseInfo(1) = "小区1"
h(0).houseInfo(2) = "小区2"
上面已经按照 小区来编排了。
Dim i As Integer
h(0).user = "张三"
h(0).houseInfo(0) = "小区1"
h(0).houseInfo(1) = "小区1"
h(0).houseInfo(2) = "小区2"
上面已经按照 小区来编排了。
作者: qq2272941360 发布时间: 2011-11-28
你的数据不可能一直保存在数组中吧?要存在数据库中的,从数据库中按指定顺序查询出记录集,再进行显示~~~~
作者: chinayuppie 发布时间: 2011-11-28
楼主以上的代码都可以写出来
baidu下就可以写出其他代码
baidu下就可以写出其他代码
作者: yangao 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28