图10.11具有嵌套过程的PASCAL程序 |
(1) program sort(input, output); //sort的过程头
(2) var a: array [0..10] of integer;
(3) x: integer;
(4) procedure readarray; //sort内嵌套定义的readarray的过程头
(5) var i: integer;
(6) begin…a…end{readarray}; //readarray的过程体
(7) procedure exchange(i,j: integer);
//sort内嵌套定义的exchange的过程头
(8) begin
(9) x∶=a[i]; a[i]∶=a[j]; a[j]∶=x; //exchange的过程体
(10) end{exchange};
(11) procedure quicksort(m,n: integer);
//sort内嵌套定义的quicksort的过程头
(12) var k,v: integer;
(13) function partition(y,z:integer):integer;
//quicksort内嵌套定义的partition的函数头
(14) var i.j:integer;
(15) begin …a… //partition的函数体
(16) …v…
(17) …exchange(i,j);…
(18) end{partition};
(19) begin…end{quicksort}; //quicksort的过程体
(20) begin…end{sort}. //sort的例程体 |
|