quantt
11-09-2009, 06:59
Em có thủ tục đệ qui xắp xếp như sau nhưng em không hiểu nó thực hiện như thế nào cả. nhờ các bác giải thích giúp em với (theo cơ chế stack)
PROCEDURE SORT(DAU,CUOI:WORD);
BEGIN
IF DAU<>CUOI THEN
BEGIN
SORT(DAU+1,CUOI)
IF A[DAU]>A[DAU+1] THEN
BEGIN
SWAP(A[DAU],A[DAU+1]);{Thu tuc doi cho 2 phan tu trong mang}
SORT(DAU+1,CUOI);
END;
END;
END;
giả sử dãy cần sắp xếp là: 2 9 4 1 5 chẳng hạn.
em came ơn các bác trước nhé.
PROCEDURE SORT(DAU,CUOI:WORD);
BEGIN
IF DAU<>CUOI THEN
BEGIN
SORT(DAU+1,CUOI)
IF A[DAU]>A[DAU+1] THEN
BEGIN
SWAP(A[DAU],A[DAU+1]);{Thu tuc doi cho 2 phan tu trong mang}
SORT(DAU+1,CUOI);
END;
END;
END;
giả sử dãy cần sắp xếp là: 2 9 4 1 5 chẳng hạn.
em came ơn các bác trước nhé.