Example #1
0
 def test_remove_range(self):
     t = Vector()
     t.copyFrom([0, 1, 2, 3, 4, 5, 6], 0, 7)
     t.remove_range(3, 5)
     self.assertEqual(t[:], [0, 1, 2, 5, 6])
     t.remove(0)
     self.assertEqual(t[:], [1, 2, 5, 6])
Example #2
0
 def insertV(self, vertex: Vertex):  # 插入顶点
     for j in range(self.n):
         self.__E[j].insert(None)  # 各顶点增加一个边记录位置
     self.n += 1
     self.__E.insert(self.n, Vector().copyFrom([None] * self.n, 0,
                                               self.n))  # 增加新的顶点向量
     return self.__V.insert(self.n, vertex)  # 增加新顶点
Example #3
0
 def test_insert(self):
     t = Vector()
     t.insert(0, 1)
     t.insert(0, 3)
     t.insert(1, 5)
     t.insert(5, 10)
     self.assertEqual(t[:], [3, 5, 1, 10])
Example #4
0
 def test_bin_search(self):
     t = Vector()
     t.copyFrom([0, 1, 2, 3, 4, 5, 6], 0, 7)
     self.assertEqual(t.binSearch(0), 0)
     self.assertEqual(t.binSearch(3), 3)
     self.assertEqual(t.binSearch(6), 6)
     self.assertEqual(t.binSearch_A(0), 0)
     self.assertEqual(t.binSearch_A(4), 4)
     self.assertEqual(t.binSearch_A(6), 6)
Example #5
0
 def test_sort(self):
     t = Vector()
     t.copyFrom([0, 1, 2, 3, 4, 5, 6], 0, 7)
     t.permute()
     t._bubbleSort()  # 冒泡排序
     self.assertEqual(t[:], list(range(7)))
     t.permute()
     t._selectSort()  # 选择排序
     self.assertEqual(t[:], list(range(7)))
     t.permute()
     t._mergeSort()  # 归并排序
     self.assertEqual(t[:], list(range(7)))
     t.permute()
     t.quickSort()  # 快速排序
     self.assertEqual(t[:], list(range(7)))
Example #6
0
 def __init__(self):
     self.n = 0  # 顶点数
     self.e = 0  # 边数
     self.__V = Vector()  # 顶点集合
     self.__E = Vector()  # 边集合
Example #7
0
 def test_find(self):
     t = Vector()
     t.copyFrom([5, 4, 3, 2, 1, 5], 0, 6)
     self.assertEqual(t.find(5), 0)
     self.assertEqual(t.find(10), -1)
     self.assertEqual(t.find(5, 1, t.size()), 5)
Example #8
0
 def test_uniquify(self):
     t = Vector()
     t.copyFrom([0, 1, 1, 2, 3, 4, 5, 5], 0, 8)
     s = t.uniquify()
     self.assertEqual(t[:], [0, 1, 2, 3, 4, 5])
     self.assertEqual(s, 2)
Example #9
0
 def test_deduplicate(self):
     t = Vector()
     t.copyFrom([0, 1, 1, 3, 1, 3, 6], 0, 7)
     s = t.deduplicate()
     self.assertEqual(set(t[:]), {0, 1, 3, 6})
     self.assertEqual(s, 3)
Example #10
0
 def test_disordered(self):
     t = Vector()
     t.copyFrom([5, 4, 3, 2, 1], 0, 5)
     self.assertEqual(t.disordered(), 4)