™—:.·¤°-:¦:-» †Diễn đàn Tin DBT† «-:¦:-°¤·.:—™
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.
™—:.·¤°-:¦:-» †Diễn đàn Tin DBT† «-:¦:-°¤·.:—™

™—:.·¤°-:¦:-» †Diễn đàn Tin DBT† «-:¦:-°¤·.:—™
 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng Nhập  
Game nhỏ mới ra lò!
Trắc nghiệm CSDL
Logo lớp mình cho những ai cần
ve tam giac
Nhac vui:Vọng cổ Geisha
Ong xa number one
Tình huống sư phạm
bài thực hành đồ hoạ máy tính
Hỏi vấn đề diver card màn hình trong Win 7
GUN
Half Life 2 - Episode 2
coa ai choi game trên trinh duyet web game xay duong danh nhau vui lem
Kiểm tra khả năng nghe tiếng Anh (listening quiz)
Học tiếng Anh qua nghe cho mọi trình độ
TÀI LIỆU CƠ SỞ DỮ LIỆU
Dragonball Mugen Edition 2008
Hitman 4: Blood Money - Đồng tiền xương máu
Tom Clancy's Splinter Cell - Conviction
Một số phim HD dùng cho đt hay máy mp4 (640x380)
Phần mềm học nghe tiếng Anh cực nhiều luôn




















 Ngoc Toan (106)
 osmnt (95)
 vietmono (68)
 duytung (47)
 langtu_ (46)
 superman (32)
 lethibichthao (28)
 kawai08 (26)
 tuyen155 (24)
 natalia (21)

heapsort (hướng đối tượng)Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down
Fri 23 Oct 2009, 9:44 am
heapsort (hướng đối tượng) Bgavatar_06
heapsort (hướng đối tượng) Bgavatar_01heapsort (hướng đối tượng) Bgavatar_02_newsheapsort (hướng đối tượng) Bgavatar_03
heapsort (hướng đối tượng) Bgavatar_04_newlangtu_heapsort (hướng đối tượng) Bgavatar_06_news
heapsort (hướng đối tượng) Bgavatar_07heapsort (hướng đối tượng) Bgavatar_08_newsheapsort (hướng đối tượng) Bgavatar_09
langtu_
Thượng Tướng
Thượng Tướng
-Sinh nhật : 01/01/1988

-Điểm tích cực : 100
-Cảm ơn : 9
heapsort (hướng đối tượng) Vide

Bài gửiTiêu đề: heapsort (hướng đối tượng)

Nguồn : http://sptinbt.forum-viet.net/t176-topic
Tiêu Đề : heapsort (hướng đối tượng)

Nếu thấy bài viết này hay thì xin click vào nút [Cảm ơn] bên dưới để thay cho lời cảm ơn nhé

--------------------------------------------------
đây là bài nộp số 1(cấu trúc dữ liệu) vẫn còn thiếu hai thuật sắp xếp nữa mình sẻ post sau:
trong này đã chạy hoàn toàn cam kết 100% là chạy được nhưng để tránh tình trạng các bạn không làm mà copy nguyên về nên mình se xoá bớt 4 chổ các bạn phải đọc và sửa lại nếu ko sẻ không chạy được(cũng vì muốn tốt cho mọi người thôi,xin lổi)còn điều gì chưa hiểu cứ hỏi nếu biết mình sẻ trả lời.

đây là phần khai báo lớp:

Code:

#include<iostream>
#include<iomanip>
using namespace std;

class Cmang 
{
public:
   void heapsort();
   void createheap();
   void shift(int left,int right);
   void bublesort();
   void insertionsort();
   void selectionsort();
   int timnhiphan(int x);
   void interchangesort();
   void swap(int &a,int &b);
   int  timtuyentinh(int x);
   void xuat();
   void nhap();
   Cmang();
   virtual ~Cmang();

private:
   int * m_data;
   int m_sophantu;
};

đây là chi tiết hàm:

Code:

void Cmang::nhap()
{
   cout<<"nhap so phan tu: ";
   cin>>m_sophantu;

   m_data=new int[m_sophantu];
   for(int i=0;i<m_sophantu;i++)
   {
      cout<<"phan tu "<<i<<" = ";
      cin>>m_data[i];
   }

}

void Cmang::xuat()
{
   cout<<"mang: ";
   for(int i=0;i<m_sophantu;i++)
      cout<<setw(4)<<m_data[i];
   cout<<endl;

}

int  Cmang::timtuyentinh(int x)
{
   for(int i=0;i<m_sophantu;i++)
      if(m_data[i]==x) return i;
         return -1;//khong tim thay

}

void Cmang::swap(int &a, int &b)
{
   int tam=a ;
      a=b;
      b=tam;

}

void Cmang::interchangesort()
{
   for(int i=0;i<m_sophantu-1;i++)
      for(int j=i+1;j<m_sophantu;j++)
         if(m_data[j]<m_data[i])
            swap(m_data[i],m_data[j]);

}

int Cmang::timnhiphan(int x)
{   
   int mid,left=0,right=m_sophantu-1;
   while (left<right)
   {
      mid=(left+right)/2;
      if(m_data[mid]=x)
         return mid;
      if(m_data[mid]<x)
         right=mid-1;
      else left=mid+1;
   }
   return -1;
   
}

void Cmang::selectionsort()
{
   int min;
   for(int i=0;i<m_sophantu-1;i++)
   {
      min = i;
      for(int j=i+1;j<m_sophantu;j++)
         if(m_data[min]>m_data[j])
            min=j;
         if(min != i)
            swap(m_data[min],m_data[i]);
   }

}

void Cmang::insertionsort()
{
   int pos,x;
   for(int i=1;i<m_sophantu;i++)
   {
      x=m_data[i];
      for(pos=i;(pos>0)&&(m_data[pos-1]>x);pos--)
          m_data[pos]=m_data[pos-1];
         m_data[pos]=x;
      
   }

}

void Cmang::bublesort()
{
   for(int i=0;i<m_sophantu-1;i++)
      for(int j=m_sophantu-1;j>i;j--)
         if(m_data[j]<m_data[j-1])
            swap(m_data[j],m_data[j-1]);

}

void Cmang::shift(int left, int right)
{
   int x,curr,joint;
   curr=left;joint=2*curr+1;//ajoint :phan tu lien doi
   x=m_data
   while (joint<=right)
   {
      if(joint<right) //co du hai thanh phan lien doi
         if(m_data[joint]<m_data[joint+1])
            joint=joint+1;
      if(          [joint]<x) break;//thoa quan he lien doi
         m_data[curr]=m_data[joint];
         curr=joint;//xet tiep kha nang hieu chinh lan truyen
         joint=2*joint+1;
   }
   m_data[curr]=x;
}

void Cmang::createheap()
{
   int        ;//vi tri phan tu can ghep them
   for(left=(m_sophantu-1)/2;left>=0;left--)
      shift(left,m_sophantu-1);
}

void Cmang::heapsort()
{   
   int right;
   createheap();
   right=m_sophantu-1;//right o day la dung cho phan tu lon nhat duoc dua ve cuoi mang
   while(right>0)
   {
      swap(m_data[0],m_data[right]);
      ;
      shift(0,right);
   }


}

đây là hàm main()
Code:

#include"mang.h"

 int main()
 {
    Cmang h;
    h.nhap();
    h.xuat();
    h.interchangesort();
    cout<<"mang sau khi xap xep ";
    h.xuat();
    h.selectionsort();
    h.xuat();
    h.insertionsort();
    h.xuat();
    h.bublesort();
    h.xuat();
    h.heapsort();
    h.xuat();
    int x;
    cout<<"nhap vao gia tri can tim: ";
    cin>>x;
    if(h.timtuyentinh(x) != -1)
       cout<<"tim thay "<<x<<" tai vi tri "<<h.timtuyentinh(x);
    else
       cout<<"khong tim thay gia tri "<<x;
    cout<<endl;
    system("pause");
    return 0;
 }


mình nhắc lại các bạn bắt buộc phải đọc bài và thêm vào một số chổ mới chạy hoàn toàn được(mình chỉ bỏ đi những thứ liên quan đến hàm heap thôi các hàm trên đã chạy hoàn toàn).

--------------------------------------------------


Copy đường link gửi cho bạn bè !

Fri 23 Oct 2009, 9:48 am
heapsort (hướng đối tượng) Bgavatar_06
heapsort (hướng đối tượng) Bgavatar_01heapsort (hướng đối tượng) Bgavatar_02_newsheapsort (hướng đối tượng) Bgavatar_03
heapsort (hướng đối tượng) Bgavatar_04_newlangtu_heapsort (hướng đối tượng) Bgavatar_06_news
heapsort (hướng đối tượng) Bgavatar_07heapsort (hướng đối tượng) Bgavatar_08_newsheapsort (hướng đối tượng) Bgavatar_09
langtu_
Thượng Tướng
Thượng Tướng
-Sinh nhật : 01/01/1988

-Điểm tích cực : 100
-Cảm ơn : 9
heapsort (hướng đối tượng) Vide

Bài gửiTiêu đề: Re: heapsort (hướng đối tượng)

Nguồn : http://sptinbt.forum-viet.net/t176-topic
Tiêu Đề : heapsort (hướng đối tượng)

Nếu thấy bài viết này hay thì xin click vào nút [Cảm ơn] bên dưới để thay cho lời cảm ơn nhé

--------------------------------------------------
mọi thắc mắc xin liên hệ:
[You must be registered and logged in to see this link.] (có nghĩa là tom ran me đó mà) Very Happy

--------------------------------------------------


Copy đường link gửi cho bạn bè !

heapsort (hướng đối tượng)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang
Trang 1 trong tổng số 1 trang
* Viết tiếng Việt có dấu, là tôn trọng người đọc.
* Chia sẻ bài sưu tầm có ghi rõ nguồn, là tôn trọng người viết.
* Thực hiện những điều trên, là tôn trọng chính mình.
-Nếu chèn smilies có vấn đề thì bấm A/a trên phải khung viết bài
Permissions in this forum:Bạn không có quyền trả lời bài viết
™—:.·¤°-:¦:-» †Diễn đàn Tin DBT† «-:¦:-°¤·.:—™ :: CLB TIN HỌC :: -‘๑’-Cấu trúc dữ liệu-‘๑’--
heapsort (hướng đối tượng) Footer11
Đang tải...

http://www.sptinbt.forum-viet.net