Tìm số lớn thứ hai trong mảng Pascal và cho biết vị trí tương tự lm số bé thứ hai

Tìm số lớn thứ hai trong mảng Pascal và cho biết vị trí tương tự lm số bé thứ hai

0 bình luận về “Tìm số lớn thứ hai trong mảng Pascal và cho biết vị trí tương tự lm số bé thứ hai”

  1. Bạn sử dụng QuickSelect (gần giống QuickSort) phân ra 3 phần:

    -Khoá key (một số ngẫu nhiên)

    -Những số nhỏ hơn khoá key sẽ nằm bên trái

    -Những số lớn hơn khoá key nằm bên phải

    Sau đó kiểm tra xem khoá key có nằm đúng vị trí bạn tìm không? Nếu không thì lặp lại quá trình trên với sự thay đổi vẻ phạm vi.

    Bạn tham khảo thêm tại đây: https://www.geeksforgeeks.org/kth-smallestlargest-element-unsorted-array-set-2-expected-linear-time-2/?ref=rp

    Bình luận
  2. Câu 1: số lớn

    var a:array[1..100] of integer;

    i,j,tg,n:integer;

    Begin

    readln(n);

    for i:=1 to n do

    readln(a[i]);

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if a[i]<a[j] then

    begin

    tg:=a[i];

    a[i]:=a[j];

    a[j]:=tg;

    end;

    write(‘phan tu lon thu 2 la:’,a[2]);

    readln;

    End.

    Câu 2: số bé

    var a:array[1..100] of integer;

    i,j,tg,n:integer;

    Begin

    readln(n);

    for i:=1 to n do

    readln(a[i]);

    for i:=1 to n-1 do

    for j:=i+1 to n do

    if a[i]>a[j] then

    begin

    tg:=a[i];

    a[i]:=a[j];

    a[j]:=tg;

    end;

    write(‘phan tu nho thu 2 la:’,a[2]);

    readln;

    End.

    Bình luận

Viết một bình luận