長度爲n的數組亂序存放着0至n-1. 現在只能進行0與其他數的交換,完成以下函數
假設0 3 1 2;第一次 3 0 1 2 ;3 1 0 2也就是0和1位置上交換 0 和1 交換
第二次 3 1 0 2 ;3 1 2 0;也就是0在位置2上,0與2交換;
第三次 3 1 2 0;0 1 2 3;也就是 0與3交換;
也就是先和ayy[i] 交換,之後0和i交換,將i位於ayy[i]上,位置歸位
循環交換--對數字i來說,先將0與i位置的數字交換,即swap_with_zero(array, len, array[i]);
此時0在i位置,然後交換0與i即可。
鏈接:https://www.nowcoder.com/questionTerminal/2e5ea7147ea84f089496d23a57ee19fc?source=relative
來源:牛客網
廣度優先搜索: 分層(找相鄰的),標記爲1的概念
v0進 v0出;然後 v2 v1 v3進;隊列的結構,
v2出去,v0已經訪問,v4 進來;v1出去,v0 v4已經訪問 v5進來;v3出去,都訪問,沒進來;v4出去 v6進來;
v5出去,v6出去,爲空,至此結束。
深度優先搜索 ;樹的先序遍歷
v0 到 v2 ; v2訪問v0,訪問v4;
v4訪問v1 ;v1 訪問v0 v4 v5; v5 訪問v1 v3 ;
v3 回溯到v5 ; v5訪問v6; v6訪問v4,v5;
v6回溯v5 ; V1 v4 v2 v0;
https://blog.csdn.net/weixin_40953222/article/details/80544928
https://blog.csdn.net/seagal890/article/details/93343658#commentBox