溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle 快排

發(fā)布時間:2020-07-29 12:56:08 來源:網(wǎng)絡(luò) 閱讀:313 作者:小??炫躧e 欄目:關(guān)系型數(shù)據(jù)庫

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;
  
  
  

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI