Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    23-06-2009
    Location
    Huyện Gia Bình - Tỉnh Bắc Ninh
    Bài viết
    323
    Like
    0
    Thanked 4 Times in 4 Posts

    Sắp xếp bằng lựa chọn (selection sort)

    Các bạn hãy nêu thuật toán và chương trình sắp xếp thuật toán bằng lựa chọn (selection sort) giúp mình!
    Quote Quote

  2. #2
    Tham gia
    23-06-2009
    Location
    Huyện Gia Bình - Tỉnh Bắc Ninh
    Bài viết
    323
    Like
    0
    Thanked 4 Times in 4 Posts
    Cụ thể của phương pháp này là: Chọn phần tử nhỏ nhất trong dãy nguồn, xếp nó vào vị trí đầu tiên trong dãy đích. Đây là phần tử thứ nhất và cũng là phần tử cuối cùng của dãy đích. Chọn phần tử nhỏ nhất trong dãy nguồn còn lại, đây là phần tử nhỏ thứ hai, xếp nó vào vị trí thứ hai và cũng là vị trí cuối của dãy đích lúc này.
    Lặp lại việc này cho đến khi hết dãy nguồn.
    Bước 1: - Chọn phần tử bé nhất từ dãy nguồn
    - Đổi chỗ cho phần tử A[1]
    Bước i:
    - Chọn phần tử bé nhất từ dãy nguồn còn lại là a[i],a[i+1],...,a[n]
    - Đổi chỗ cho a[i].
    ---------------------------------Bài viết đã được trộn ---------------------------------
    Thủ tục chi tiết:
    For i:=1 to n-1 do
    Begin
    "Chọn phần tử min của dãy a[i], a[i+1],.....,a[n]"
    "Đổi chỗ cho a[i]"
    end;

  3. #3
    Tham gia
    13-01-2010
    Bài viết
    78
    Like
    0
    Thanked 0 Times in 0 Posts
    Hình như là thế này
    For i:=1 to n do
    For j:=i to n-1 to
    If a[i]<a[j] then
    begin
    a[i]:=tg;
    a[i]:=a[j];
    a[j]:=tg;
    end;

  4. #4
    Tham gia
    15-03-2010
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    hepl me
    toi can tro giup trong lap trinh jave ve giai thuat selection sort

  5. #5
    Tham gia
    05-12-2008
    Location
    Tây Ninh
    Bài viết
    150
    Like
    1
    Thanked 4 Times in 2 Posts
    Thế Selection Sort O(N^2) àh ?
    Mà Lehang_gb sao vừa hỏi vừa trả lời là sao nhỉ :-?

  6. #6
    Tham gia
    19-12-2010
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi nirvanat View Post
    Hình như là thế này
    For i:=1 to n do
    For j:=i to n-1 to
    If a[i]<a[j] then
    begin
    a[i]:=tg;
    a[i]:=a[j];
    a[j]:=tg;
    end;
    The nay la sap xep kieu lua chon ah. do chi la doi cho truc tiep thoi.
    Voi lai cai vong lap + hoan vi cua ban cung viet sai nua
    day moi la sap lua chon ne( cu phap cua pascal minh ko chuyen, co j thong cam):
    For i:=1 to n-1 do
    k=:i;
    For j:=i+1 to n to
    If a[k]<a[j] then
    begin
    k:=j;
    end;
    tg:=a[i];
    a[i]:=a[k];
    a[k]:=tg;

  7. #7
    Tham gia
    19-08-2012
    Bài viết
    24
    Like
    0
    Thanked 2 Times in 2 Posts

    code selection sort

    Quote Được gửi bởi lehang_gb1 View Post
    Các bạn hãy nêu thuật toán và chương trình sắp xếp thuật toán bằng lựa chọn (selection sort) giúp mình!
    Hãy gõ & test code dưới đây mô tả và thực thi Sele. Sort:
    uses crt;
    const n=7;
    var a:Array[1..n] of Integer;
    min, vt,i,j:Integer;
    Begin clrscr;
    {Doan Prog. nhap lieu}
    For i:=1 to n do
    Begin
    Write('Nhap gia tri phan tu thu a[',i,']=');
    Readln(a[i]);
    End;

    {Doan sap xep nho th_toan Selection Sort}
    For i:=1 to n do
    Begin
    min:=a[n]; vt:=n;
    For j:=i to n do
    If a[j]<min Then
    Begin
    min:=a[j];
    vt:=j;
    End;
    a[vt]:=a[i];
    a[i]:=min;
    End;

    {Xuat ket qua}
    Writeln('Day vua nhap da sap xep tang nho th_toan Lua chon:');
    For i:=1 to n do
    Write(a[i]:5); Writeln;
    Write('Done!');
    Readln
    End.

  8. #8
    Tham gia
    28-03-2004
    Location
    xã Vĩnh Viễn, huyện Vĩnh Biệt, thành phố Kinh Cùng
    Bài viết
    16,470
    Like
    3,954
    Thanked 1,818 Times in 1,266 Posts

  9. #9
    Tham gia
    31-05-2010
    Location
    WallpaperXYZ.com
    Bài viết
    2,839
    Like
    843
    Thanked 290 Times in 233 Posts
    ĐAng chuẩn bị thi tốt nghiệp. Thế này thì ....

  10. #10
    Tham gia
    27-06-2013
    Bài viết
    13
    Like
    0
    Thanked 1 Time in 1 Post
    hỏi thật các bác trước khi đưa code có test trên máy chưa???
    của mình đây .lớn dần nhé, ai muốn nhỏ dần thì đổi dấu
    var i,j,tam,N:longint;
    A:array[1..100]of longint;
    begin
    clrscr;
    write('nhap so phan tu:'); readln(N);
    for i:=1 to N do
    begin
    write('nhap phan tu thu ',i,': ');
    readln(A[i]);
    end;
    for i:=1 to N-1 do
    for j:=i+1 to N do
    if A[i]>A[j] then
    begin
    tam:=A[i];
    A[i]:=A[j];
    A[j]:=tam;
    end;
    for i:=1 to N do write(A[i],' ');
    readln;
    end.

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •