用Visual Basic编写一个程序,生成一个有序的一维数组。程序能够对该数组进行数据的插人、删除操作。要求:插人、删除后的数组仍然有序。界面区详细处理细节请自行设计。
时间: 2024-03-22 09:39:26 浏览: 15
以下是一个使用 Visual Basic 编写的程序,用于生成有序的一维数组,并对该数组进行数据的插入和删除操作:
```vb
Module Module1
Dim arr(9) As Integer ' 定义一个有序的一维数组
' 初始化数组
Sub InitArray()
Console.WriteLine("请输入10个有序的整数:")
For i As Integer = 0 To 9
Console.Write("arr({0}) = ", i)
arr(i) = Integer.Parse(Console.ReadLine())
If i > 0 AndAlso arr(i) < arr(i - 1) Then ' 判断输入的数据是否有序
Console.WriteLine("数据输入错误!请重新输入。")
i -= 1 ' 若不符合要求,则回退一步重新输入
End If
Next
End Sub
' 插入数据
Sub InsertData()
Console.Write("请输入要插入的整数:")
Dim num As Integer = Integer.Parse(Console.ReadLine())
Dim index As Integer = 0
While index < 10 AndAlso arr(index) <= num ' 找到要插入的位置
index += 1
End While
For i As Integer = 8 To index Step -1 ' 从后往前移动数组元素
arr(i + 1) = arr(i)
Next
arr(index) = num ' 在指定位置插入新数据
Console.WriteLine("插入数据成功!")
End Sub
' 删除数据
Sub DeleteData()
Console.Write("请输入要删除的整数:")
Dim num As Integer = Integer.Parse(Console.ReadLine())
Dim index As Integer = 0
While index < 10 AndAlso arr(index) <> num ' 找到要删除的位置
index += 1
End While
If index >= 10 Then ' 若找不到,则输出错误信息
Console.WriteLine("没有找到要删除的数据!")
Else ' 否则,从指定位置开始往后移动数组元素
For i As Integer = index To 8
arr(i) = arr(i + 1)
Next
Console.WriteLine("删除数据成功!")
End If
End Sub
' 输出数组
Sub PrintArray()
Console.WriteLine("当前数组如下:")
For i As Integer = 0 To 9
Console.Write("{0} ", arr(i))
Next
Console.WriteLine()
End Sub
Sub Main()
InitArray()
While True
Console.WriteLine("请选择操作:")
Console.WriteLine("1. 插入数据")
Console.WriteLine("2. 删除数据")
Console.WriteLine("3. 退出程序")
Console.Write("请选择(1-3):")
Dim choice As Integer = Integer.Parse(Console.ReadLine())
If choice = 1 Then
InsertData()
ElseIf choice = 2 Then
DeleteData()
ElseIf choice = 3 Then
Exit While
Else
Console.WriteLine("输入错误!请重新选择。")
End If
PrintArray() ' 操作完成后输出数组
End While
Console.WriteLine("程序已退出。按任意键继续...")
Console.ReadKey()
End Sub
End Module
```
该程序在初始化数组时,会要求用户输入10个有序的整数,并进行判断。在插入和删除数据时,程序会保证数组仍然有序。用户可以输入1或2来选择插入或删除数据,输入3退出程序。在每次操作完成后,程序会输出当前的数组。