DECLARE
TYPE num_tt IS TABLE OF INT;
num_t num_tt:=num_tt();
PROCEDURE quick_sort(arr_t IN OUT num_tt, i IN INT, j IN INT)
AS
tmp_i INT := i;
tmp_j INT := j;
fir_num INT;
BEGIN
IF(i < j) THEN
fir_num := arr_t(tmp_i);
WHILE(tmp_i < tmp_j) LOOP
WHILE(tmp_i < tmp_j AND fir_num < arr_t(tmp_j)) LOOP
tmp_j := tmp_j - 1;
END LOOP;
arr_t(tmp_i) := arr_t(tmp_j);
WHILE(tmp_i < tmp_j AND fir_num > arr_t(tmp_i)) LOOP
tmp_i := tmp_i + 1;
END LOOP;
arr_t(tmp_j) := arr_t(tmp_i);
END LOOP;
arr_t(tmp_i) := fir_num;
quick_sort(arr_t, i, tmp_i-1);
quick_sort(arr_t, tmp_i+1, j);
END IF;
END quick_sort;
BEGIN
num_t.extend(20);
FOR i IN 1..20 LOOP
num_t(i) := trunc(dbms_random.value(200,100000));
END LOOP;
dbms_output.put_line('before sort:');
FOR i IN 1..num_t.count LOOP
dbms_output.put_line(num_t(i)||',');
END LOOP;
quick_sort(num_t, 1, num_t.count);
dbms_output.put_line('after sort:');
FOR i IN 1..num_t.count LOOP
dbms_output.put_line(num_t(i)||',');
END LOOP;
END;
oracle 快排
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Oracle Database 監控:zabbix(一)
AMGYM
2019-02-24 13:05:14
Oracle Database 監控(check_oracle_health)
AMGYM
2019-02-24 13:05:14
Oracle11g 基於linux 6.3下安裝
love壁虎
2019-02-24 12:55:06
Oracle導入導出數據的幾種方式
linzhongyilisha
2019-02-24 12:43:05
oracle em啓動
huchazsu
2019-02-23 14:01:49
oracle 啓動歸檔模式
huchazsu
2019-02-23 14:01:14
oracle 11G 靜默安裝
anshenwang
2019-02-23 13:56:41
ORA-32001: 已請求寫入 SPFILE 但是在啓動時未
xuts5
2019-02-23 13:48:29
RMAN-20207
xuts5
2019-02-23 13:48:29
oracle表分區詳解
xuts5
2019-02-23 13:48:29
oracle刪除及導入數據庫
曉竹
2019-02-23 13:35:55
記一次從oracle到hive的歷史數據遷移(一)
綠箭俠1
2019-02-23 13:33:37
Oracle 索引組織表(IOT)
落花飄雪IT
2019-02-23 13:29:59
刷新Oracle緩存
itserver_live
2019-02-23 13:29:47