Nông Môn Trưởng Tẩu Có Không Gian

Chương 192

Ba người ngồi xe bò chầm chậm rời khỏi thôn, hướng về phía đồn. Đi được một quãng, họ bắt gặp ven đường đỗ một chiếc xe ngựa.
Người đánh xe là một gã tiểu tử, không quen biết.
Chỉ có Đinh Kim Thành cúi gằm mặt, trong l·ò·n·g ôm Nguyên Trí đang trầm mặc, không hé răng một lời.
Chú Ý Nhất và Chú Ý Truyền Tông còn kỳ quái, आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस में आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस आपस میں #endif tmp = b; #if DEBUG Console.Write("b[" + 2 + "] = tmp["); #endif PrintList.Output(1, b); PrintList.Close(); Console.WriteLine(); b = new List(); #if DEBUG Console.Write("b[" + 3 + "] = tmp["); #endif PrintList.Output(0, tmp); PrintList.Close(); Console.WriteLine(); tmp = c; #if DEBUG Console.Write("c[" + 1 + "] = tmp["); #endif PrintList.Output(2, c); PrintList.Close(); Console.WriteLine(); #if DEBUG Console.Write("c[" + 2 + "] = tmp["); #endif PrintList.Output(1, tmp); PrintList.Close(); Console.WriteLine(); #if DEBUG Console.Write("c[" + 3 + "] = tmp["); #endif PrintList.Output(0, tmp); PrintList.Close(); Console.WriteLine(); }
// 合并a[l..m], a[m+1, n], 结果存于 c中 static void merge(List a, int l, int m, int n, List c) { int i = l, j = m + 1, k = 0; #if DEBUG int q = l, r = m; #endif while (i <= m && j <= n) { #if DEBUG if( k == r && q != m || k > r) { q = r = (j + n - 1) / 2; j = (j + n) / 2; r += (j - q); } else { #endif // 左比右小取左(比较的时候比较tmp数组的值,合并的结果存到b) if (a[i].CompareTo(a[j]) <= 0) c[k++] = a[i++]; else c[k++] = a[j++]; //否则取右 #if DEBUG } #endif
#if DEBUG Console.Write("k[" + 0 + " - " + (k - 1) + "]"); PrintList.Output(0, k - 1, c); PrintList.Close(); Console.WriteLine(); #endif
} #if DEBUG if (i <= m) Console.WriteLine("剩下:a[l..m],"); else Console.WriteLine("剩下:a[m+1, n]"); #endif // 两段肯定还剩下一段需要处理 while (i <= m) c[k++] = a[i++]; //a[l..m]剩下, 放入 #if DEBUG Console.Write("k[" + 0 + " - " + (k - 1) + "]"); PrintList.Output(0, k - 1, c); PrintList.Close(); Console.WriteLine(); #endif while (j <= n) c[k++] = a[j++]; //a[m+1..n]剩下, 放入 #if DEBUG Console.Write("k[" + 0 + " - " + (k - 1) + "]"); PrintList.Output(0, k - 1, c); PrintList.Close(); Console.WriteLine(); #endif
} }
/* 自底向上的归并 step表示一个数组中的连续子序列中每个数组元素的个数,step 从1,2,4,...
依次增长,对于长度为n的数组,执行趟数为 [logn] 向上取整 趟(包括step=1).
*/ /// /// 二路归并排序(非递归版本) /// public static void MergeSortUnRec(List a, List b) { int step = 1; // 初始一个数就是一个子序列, 下标为step/2(除后取小). 即两数两数归并 List tmp = a; // 需要进行归并的目标序列 while (step < a.Count) // 共需处理 logn 上取整次(包括step=1的情况) { #if DEBUG if(b == null ) #endif b = new List(a); // 每次归并产生临时数据 Console.Write("【第一次合并的序列的长度 step == "+step+" 】:"); PrintList.Output(-1, -1, b); PrintList.Close(); Console.WriteLine();
int i; for (i = 0; i + 2 * step - 1 < a.Count; i += 2 * step) // 每两个分组进行一次归并. 从i开始对两个分组进行归并 SortHelper.merge(tmp, i, i + step - 1, i + 2 * step - 1, b); // 分组2: 从step位置进行步进式归并
if (i + step < a.Count) // 只剩下最后一个组,但是仍然要把它合并 { SortHelper.merge(tmp, i, i + step - 1, a.Count - 1, b); }
// 将两个有序的序列再次排序, // 从小序列到长序列 step *= 2; // 子分组长度增倍,步进到两两分组后四个一组的归并中 if (b != a) // 如果是复制在 b中 { #if DEBUG Console.Write("【合并为 step == " + step + "长度的序列,交换结果数组】:"); PrintList.Output(-1, -1, a); PrintList.Close(); Console.WriteLine(); #endif tmp = b; // 把结果从新作为下一次的待合并的序列 b = a; a = tmp; // 这里就表示结果重新保存到原来的空间a }
Console.WriteLine(); Console.WriteLine("按'd'键进行演示: step 从1,2,4,... 依次增长"); ConsoleKeyInfo info = Console.ReadKey(true); }
b.Clear(); }
/* 自顶向下归并 对于当前表采用对半的方式分解成两个子表,然后分别对两个子表 进行递归排序。当分解到表只有一个数据节点时,已经不能再分,此时便已 自然有序(只有一个元素),将它与另外一个有序的表合并。 */ /// /// 递归实现 /// static void RecursiveMerge(List arr, int l, int r) { // l..r范围内进行递归分割成 n/2份 数组段进行各自范围内的处理 // 注意r: 分配到最后一个元素的下标 if (r - l > 0) // 分治 { int m = (l + r) / 2; // 获取每次折半的中间位置: m = 左边一段元素长度 RecursiveMerge(arr, l, m); // 0~左边一组排序 RecursiveMerge(arr, m + 1, r); // m+1~右边一组排序
// 左右归并 SortHelper.Merge(arr, l, m, r); //合并, 有额外O(n)空间开销 }
//递归出口:当只有单个数字或已经排好的序列进行归并后,不再切分(分解),原路回溯返回 } public static void MergeSortRecursive(List list, List copyedList) { Console.Write("归并序列是:"); SortHelper.PrintList.Output(-1, -1, list); SortHelper.PrintList.Close(); Console.WriteLine(); RecursiveMerge(list, 0, list.Count - 1); } } } ```
Bạn cần đăng nhập để bình luận