fenghzy 发表于 2018-9-10 10:00:31

oracle 冒泡

  DECLARE
  TYPE num_tt IS TABLE OF INT;
  num_t num_tt:=num_tt();
  mid_val INT;
  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;
  FOR i IN REVERSE 1..num_t.count-1 LOOP
  FOR j IN 1..i LOOP
  IF(num_t(j)>num_t(j+1)) THEN
  mid_val := num_t(j);
  num_t(j) := num_t(j+1);
  num_t(j+1) := mid_val;
  END IF;
  END LOOP;
  END LOOP;
  dbms_output.put_line('after sort:');
  FOR i IN 1..num_t.count LOOP
  dbms_output.put_line(num_t(i)||',');
  END LOOP;
  END;

页: [1]
查看完整版本: oracle 冒泡