您好我正在尝试匹配可能具有ContainsB
边缘路径的子图。
已知部分是具有id 1,2,3和6的顶点及其边缘。未知的是1到6之间的顶点及其id的数量。匹配从id = 1的顶点开始。匹配遍历需要匹配整个子图,其限制为4到6之间的10个步骤。在平凡的情况下,id为6的顶点直接与id = 1到顶点#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int arr[] = {4,5,2,1,3};
int lengd = sizeof(arr)/sizeof(arr[0]);
void swapNumber(int arr[], int i, int j){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
void partition(int arr[], int i, int j){
int pivot = arr[j];
while (i <= j) {
while (arr[i] < pivot){
i++;
}
while (arr[j] > pivot){
j--;
}
if (i <= j) {
swapNumber(arr, i, j);
i++;
j--;
}
}
}
void quickSort(int arr[], int left, int right) {
int i = left;
int j = right;
partition(arr,left,right);
if (left < j){
quickSort(arr,left, j);
}
if (i < right){
quickSort(arr, i, right);
}
}
int main(){
quickSort(arr,0, lengd-1);
for(int i = 0; i < 5; i++){
cout << arr[i] << endl;
}
}
的顶点连接。
感谢任何帮助!
答案 0 :(得分:1)
我认为这似乎按我想要的方式运作:
g.V().match(
__.as("s").hasId("1").outE("ContainsB").inV().until(hasId("6")).repeat(out("Extends")).limit(10),
__.as("s").hasId("1").outE("ContainsA").inV().hasId("2"),
__.as("s").hasId("1").outE("ContainsC").inV().hasId("3")
)