๑๑۩۞۩๑๑ DIỄN ĐÀN CÔNG NGHỆ THÔNG TIN ๑๑۩۞۩๑๑

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Đăng Nhập

Quên mật khẩu

Latest topics

» █Kiếm thế Cát Tư Hãn open: 10h00 sáng CN ngày 4/2/18 – Miễn phí sét Hoàng Kim
by ciuem Thu Feb 01, 2018 1:37 pm

» █TL VÕ Thiên Long (CS) Open 10h00 sáng CN ngày 4/2/18 - Test 7h30 tối T5 ngày 1/2/2018
by ciuem Thu Feb 01, 2018 1:34 pm

» █Kiếm thế Võ Thiên open: 10h00 sáng CN ngày 28/1/2018 – Sân chơi đẳng cấp miễn phí
by ciuem Sun Jan 28, 2018 8:52 am

» █TL VÕ Thiên Long (CS) Open 7h30 tối T4 ngày 20/12/17 - Test 7h30 tối CN ngày 17/12/2017
by ciuem Mon Dec 18, 2017 6:32 pm

» █Kiếm thế Võ Thiên open: 7H30 tối T 4 ngày 20/12/2017 – Sân chơi đẳng cấp miễn phí
by ciuem Mon Dec 18, 2017 6:29 pm

» █ TL Chúa Tể(CC) open 7h30 tối T4 ngày 13/12/17 - Test game: 7h30 tối CN 10/12- Treo máy nhận ĐT
by ciuem Sun Dec 10, 2017 11:29 am

» █Kiếm Thế Quách Tĩnh - Open 7h30 tối T4 ngày 13/12/2017 - Miễn phí sét Hoàng Kim
by ciuem Sat Dec 09, 2017 2:40 pm

» █Kiếm thế Lâm Xung open: 7h30 tối T5 ngày 7/12/17 – Miễn phí sét Hoàng Kim
by ciuem Sun Dec 03, 2017 1:07 pm

» █Kiếm thế Thanh Gươm- Open 7h30 tối T4 ngày 29/11/2017 - Miễn phí 100%
by ciuem Tue Nov 28, 2017 5:08 am

» █Kiếm Thế Xích Quỷ - Open 7h30 tối T4 ngày 15/11/2017 - Miễn phí sét Hoàng Kim
by ciuem Tue Nov 14, 2017 7:10 pm

» █Kiếm thế Lỗ Trí Thâm open: 7h30 tối T4 ngày 8/11/2017 Sân chơi dành cho game thủ ít thời gian cầy cuốc
by ciuem Sun Nov 05, 2017 6:52 pm

» █Kiếm Thế Xích Quỷ - Open 10h00 sáng CN ngày 5/11/2017 - Miễn phí sét Hoàng Kim
by ciuem Tue Oct 31, 2017 2:15 pm

Top posters

natasada (272)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
ciuem (127)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
binhheo (114)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
QuangPhuong (110)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
DragonIT (101)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
Tùng Nguyên (62)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
Pho Minh Chu (45)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
vanvan11 (37)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
tuanpc (27)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 
xentoc111 (25)
Thuật Toán Sắp Xếp I_vote_lcapThuật Toán Sắp Xếp I_voting_barThuật Toán Sắp Xếp I_vote_rcap 

Ngôn ngữ

November 2024

MonTueWedThuFriSatSun
    123
45678910
11121314151617
18192021222324
252627282930 

Calendar Calendar

Poll

Bạn thích nhất tên miền nào của Diễn Đàn 06CNTT ?
Thuật Toán Sắp Xếp I_vote_lcap0%Thuật Toán Sắp Xếp I_vote_rcap 0% [ 0 ]
Thuật Toán Sắp Xếp I_vote_lcap14%Thuật Toán Sắp Xếp I_vote_rcap 14% [ 1 ]
Thuật Toán Sắp Xếp I_vote_lcap71%Thuật Toán Sắp Xếp I_vote_rcap 71% [ 5 ]
Thuật Toán Sắp Xếp I_vote_lcap0%Thuật Toán Sắp Xếp I_vote_rcap 0% [ 0 ]
Thuật Toán Sắp Xếp I_vote_lcap14%Thuật Toán Sắp Xếp I_vote_rcap 14% [ 1 ]
Thuật Toán Sắp Xếp I_vote_lcap0%Thuật Toán Sắp Xếp I_vote_rcap 0% [ 0 ]

Tổng số bầu chọn : 7

Đai Học Đà Nẵng

Thống Kê

Hiện có 29 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 29 Khách viếng thăm

Không


[ View the whole list ]


Số người truy cập cùng lúc nhiều nhất là 289 người, vào ngày Mon Oct 28, 2024 12:20 am

RSS feeds


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 

Keywords


2 posters

    Thuật Toán Sắp Xếp

    binhheo
    binhheo
    Admin


    Tổng số bài gửi : 114
    Age : 37
    Địa chỉ : Lớp 06CNTT- Đại học sư phạm - Đại học Đà Nẵng
    Điểm thưởng cho đóng góp :
    Thuật Toán Sắp Xếp Left_bar_bleue100 / 100100 / 100Thuật Toán Sắp Xếp Right_bar_bleue

    Registration date : 18/09/2008

    Thuật Toán Sắp Xếp Empty Thuật Toán Sắp Xếp

    Bài gửi by binhheo Mon Sep 22, 2008 10:05 pm

    Thuật Toán QuickSort
    Bài này mình vừa mới viết,xem thử đi nha
    Không dùng đệ qui thì chỉ có duy nhất là dùng stack để lưu vết cho chương trình.
    Đầu tiên bạn nên viết chương trình đệ qui cho QuickSort.
    Từ chương trình đệ qui tiến hành khử đệ qui theo cách sau:
    Ý tưởng khử đệ quy như sau:
    - Tại lời gọi đệ qui chúng ta cần lưu thông tin của các biến cục bộ vào stack, để sau khi hàm đệ qui hoàn thành thì chương trình khôi phục lại trị cho những thông số cục bộ để làm tiếp cho những câu lệnh sau lời gọi đệ qui.

    QuickSort đệ qui:
    Code:
    void QuickSort_1(int a[],int left,int right){
        int j,k;
        int tmp;
        if(left<right){

            j=left;
            k=right+1;

            do
            {

                do
                {
                    j=j++;
                }while (a[j]<a[left]);
         
         
                do
                {
                    k=k--;
                }while (a[k]>a[left]);
         
                if(j<k)
                {
                    tmp=a[j];
                    a[j]=a[k];
                    a[k]=tmp;
                }
            }while (j<=k);
         
            tmp=a[left];
            a[left]=a[k];
            a[k]=tmp;
         
            QuickSort_1(a,left,k-1);
            QuickSort_1(a,k+1,right);
        }
    }
    QuickSort không đệ qui:
    Code:
    void QuickSort_2(int a[],int left,int right){
        int j,k;
        int tmp;
        Stack<int> leftStack,rightStack,kStack; //lưu giá trị của left,right,k
        int top=0;
    L0:
        if(left>=right)
            goto L2;
        else

            j=left;
            k=right+1;

            do
            {

                do
                {
                    j=j++;
                }while (a[j]<a[left]);
         
         
                do
                {
                    k=k--;
                }while (a[k]>a[left]);
         
                if(j<k)
                {
                    tmp=a[j];
                    a[j]=a[k];
                    a[k]=tmp;
                }
            }while (j<=k);
         
            tmp=a[left];
            a[left]=a[k];
            a[k]=tmp;
         
    //Khử đệ qui cho QuickSort_1(a,left,k-1) trong chương trình đệ qui
         
                    leftStack.push(left);
            kStack.push(k);
            rightStack.push(right);
            top=top++;
            right=k-1;
            goto L0;
    L1:
            left=k+1;
            goto L0;
    L2:
            if(top!=0){
                leftStack.top(left);
                leftStack.pop();

                kStack.top(k);
                kStack.pop();

                rightStack.top(right);
                rightStack.pop();

                top=top--;
                goto L1;
            }
    }

    bài hoàn chỉnh nè:
    Code:
    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    #include<stdlib.h>

    // Neu ta dung ham dem thoi gian trong thuat toan ta dung ham <time.h>
    class Sapxep
    {
    private:
       int*arr;
    public:
       void Nhapmang(int &n);
       void Inmang(int a[],int n);
       void Bubblesort(int a[],int N);
       void Partition(int a[],int F,int L);// phan hoach  tim chi so dau va chi so cuoi
       void Quicksort(int a[],int N); // chu y thuat toan quicksort
    };

    void Sapxep::Nhapmang(int &n)
    {
          cout<<"Nhap vao so phan tu trong Mang :";
          cin>>n;
          arr=new int[n];
       for(int i=0;i<n;i++)
       {
          cout<<"Phan tu thu "<<i+1<<":";
          cin>>arr[i];
       }
    }
    // Ham in mang
    void Sapxep::Inmang(int a[],int n)
    {
       for(int i=0;i<n;i++)
       {
          cout<<arr[i];
       }
       cout<<"\n";
    }

    void Sapxep::Partition(int a[],int F,int L)
    {
       int i,j,x;
       if(F>L)
           return;
       int Mid=arr[(F+L)/2];
        i=F;
        j=L;
       do
       {
          while(arr[i]<Mid)
             i++;
          while(arr[j]>Mid)
             j--;
          if(i<=j)
          {
                x = arr[j-1];
                arr[j-1] = arr[j];
                arr[j] = x;
             
          }
          i++;
          j--;
       } while(i<=j) ;
             Partition(a,F,j);
              Partition(a,j,L);
             return;


    }
    void Sapxep::Quicksort(int a[],int N)
    {
       Partition(a,0,N-1);
       return;
    }

    void main()
    {
       int n,N;

       // chu y o day ta nen viet ham phat sinh ngau nhien
    //   randomize();
    //   for(i=0;i<n;i++)
    //      arr[i]=random(100);
       int a[1000];
        Sapxep s;
       s.Nhapmang(n);
       cout<<"Mang truoc khi chua sap xep :\n";
       s.Inmang(a,n);
       //cout<<"Sap xep bang Bubble sort: \n";
      // s.Bubblesort(a,n);
    //   s.Inmang(a,n);
       cout<<"Sap xep Quicksort:\n";
       s.Quicksort(a,N);
       s.Inmang(a,n);}
    QuangPhuong
    QuangPhuong
    Admin


    Tổng số bài gửi : 110
    Age : 37
    Địa chỉ : Lớp 06CNTT- Đại học sư phạm - Đại học Đà Nẵng
    Điểm thưởng cho đóng góp :
    Thuật Toán Sắp Xếp Left_bar_bleue99 / 10099 / 100Thuật Toán Sắp Xếp Right_bar_bleue

    Registration date : 18/09/2008

    Thuật Toán Sắp Xếp Empty Thank Binhheo

    Bài gửi by QuangPhuong Mon Sep 22, 2008 10:21 pm

    Ta đang cần cái này để nghiên cứu chuẩn bị cho đồ án môn học. :arrow: :bounce: :bounce: :bounce: :bounce:
    binhheo
    binhheo
    Admin


    Tổng số bài gửi : 114
    Age : 37
    Địa chỉ : Lớp 06CNTT- Đại học sư phạm - Đại học Đà Nẵng
    Điểm thưởng cho đóng góp :
    Thuật Toán Sắp Xếp Left_bar_bleue100 / 100100 / 100Thuật Toán Sắp Xếp Right_bar_bleue

    Registration date : 18/09/2008

    Thuật Toán Sắp Xếp Empty Chỉ Thak Thui Sao??

    Bài gửi by binhheo Tue Sep 23, 2008 10:10 am

    phải đãi tớ một chầu cafe đi>>bạn nào đòng ý thì pm lại nha>>hahhahah>>cho Phương tốn tiền chơi>>hihi 8)

    Sponsored content


    Thuật Toán Sắp Xếp Empty Re: Thuật Toán Sắp Xếp

    Bài gửi by Sponsored content


      Hôm nay: Sun Nov 03, 2024 12:17 am