void downToUpInsert(IPuzzleLayer layer) { for (var i = 0; i < layers.Count; ++i) { var L = layers[i]; if (layer.GetPiecesCount() > L.GetPiecesCount()) // 比這層大,就插入 { layers.Insert(i, layer); return; } } layers.Insert(layers.Count, layer); }
void upToDownInsert(IPuzzleLayer layer) { var startIndex = layers.Count - 1; for (var i = startIndex; i >= 0; --i) { var L = layers[i]; if (layer.GetPiecesCount() <= L.GetPiecesCount()) // 比這層小,就插入 { var insetIndex = i + 1; layers.Insert(insetIndex, layer); return; } } //比所有的都大 var head = 0; layers.Insert(head, layer); }