类似八皇后
C++实现
void printCurve(int *a,int left,int right){
if(left==right){
for(int i=0;i<=right;i++)
cout<<a[i];
cout<<endl;
}
else{
for(int idx=left;idx<=right;idx++){
swap(a[left],a[idx]);
printCurve(a,left+1,right);
swap(a[left],a[idx]);
}
}
}
python实现
def printCurve(array,left,right):
if left==right:
print(array)
else:
for index in range(left,right+1):
array[left],array[index]=array[index],array[left]
printCurve(array,left+1,right)
array[left],array[index]=array[index],array[left]
if __name__=="__main__":
array=[1,2,3]
printCurve(array,0,2)