***** Programmer *****
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.
***** Programmer *****

Học lập trình từ căn bản

Tìm kiếm
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Tuyên mộ thành viên
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptyWed Oct 24, 2012 5:28 am by quangvuspkt

» Bai tap Java can ban (Phan III )
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptySat Sep 15, 2012 4:11 am by tsuyngam

» Bai tap Java can ban (Phan I )
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptySat Sep 15, 2012 4:08 am by tsuyngam

» Một số bài tập C# căn bản
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptyThu Dec 15, 2011 1:58 pm by nguyenhoduykhang

» Xem thông tin máy tính bằng c#
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptyTue Nov 08, 2011 8:19 am by namcongtu288

» My First Browser Tree Program in VB.NET
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptyFri Aug 12, 2011 5:50 pm by kimthaohg85

» Giúp em bài C++ này với
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptySun Jul 31, 2011 12:19 pm by kubin

» GIUP DO XAY DUNG BO GO TIENG VIET CODE C#
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptySun Jul 24, 2011 8:40 pm by phonui82

» CHÀO TẤT CẢ CÁC THÀNH VIÊN TRONG DIỄN ĐÀN
RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C) EmptyTue Jul 19, 2011 9:28 am by phonui82

Đăng Nhập

Quên mật khẩu



April 2024
MonTueWedThuFriSatSun
1234567
891011121314
15161718192021
22232425262728
2930     

Calendar Calendar


You are not connected. Please login or register

RADIXSORT - SẮP XẾP CƠ SỐ ( CODE C)

Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

Tesulakata

Tesulakata
Thành viên
Thành viên

• Giải thuật
- d là chiều dài của một con số lớn nhất trong dãy số được cho
- sử dụng 10 giỏ theo theo cơ chế stack
- khởi gán 10 stack.


/*Tìm số lớn nhất trong dãy*/
int somax(int *a, int n)
{
int i,max=0,dem=0;
for(i=1;i<=n;i++)
if(a[i]>max) max=a[i];
while(max!=0)
{
dem++;
max=max/10;
}
return dem;
}
void pushS(int x,stack *&S)
{
stack *p;
p=new stack;
p->info=x;
p->next=NULL;
p->next=S;
S=p;
}
void popS(int &x,stack *&S)
{
stack *p;
p=S;
S=S->next;
x=p->info;
delete(p);
}
void Radixsort(int *a,int &n)
{
stack *s[10];
int i,j,k,d,mu;
mu=1;
d=somax(a,n);
for(i=0;i<d;i++)
{
for(j=0;j<=9;j++)
s[j]=NULL;
for(k=n;k>=1;k--)
pushS(a[k],s[a[k]/mu%10)]);
mu=mu*10;
n=0;
for(j=0;j<=9;j++)
{
while(s[j]!=NULL)
{
n=n+1;
popS(a[n],s[h]);
}
}
}
}

[center]
[left] Crying or Very sad

https://programmer.4umer.com

Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết