1. Trang chủ
  2. » Giáo án - Bài giảng

giải thuật sắp xếp mảng

8 623 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giải Thuật Sắp Xếp Mảng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Làm
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 8
Dung lượng 91,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

-nếu A[4]tg ,mỗi phần tử xuống một vị trí.việc đẩy này sẽ dừng khi tg gặp một phần tử < hơn nó,lúc này ta đặt tg vào vị trí trống của phần tử > hơn nó bị đẩy xuống cuối cùng... Kết thúc

Trang 1

Ng«n ng÷ lËp tr×nh c

 ThuËt gi¶i nhËp vµ s¾p xÕp d÷ liÖu cho m¶ng

Sau ®©y lµ bµi to¸n vÝ dô:

Cho m¶ng A.b¹n h·y nhËp vµ s¾p xÕp d÷ liÖu

cho m¶ng.

Trang 2

 Thuật giải:

Ta thấy mảng A có N phần tử.ta sẽ chia quá

trình chèn qua n bước.sắp xếp tăng dần từ

phần tử thứ i đến n

Bước 1: ta xét phần tử A[1] ta thấy có 1 phần

tử ta không cần phải làm gì cả

Kết thúc bước 1

Trang 3

Bước 2: ta bắt đầu từ phần tử thứ 2 là A[2],ta

đem A[2] so sánh với A[1]

-nếu thấy A[2]<A[1] ta lấy A[2] vào vị trí thứ nhất là A[1]

-Nếu Trường hợp A[2]>A[1] ta không làm gì cả

Trang 4

Bước 3: ta bắt đầu từ phần tử thứ 3.đó là A[3] ta đem so sánh lần lượt với phần tử

A[2],A[1],

-nếu A[3]<A[2] thì mang giá trị của A[3] gán cho biến tg sau đó đẩy A[3] vào vị trí thứ

3.tiếp theo ta so sánh tg với A[1],nếu

tg<A[1] thì ta đẩy A[1] vào vị trí thứ 2 rồi

đẩy tg vào vị trí thứ nhất.ngược lại nếu tg

>A[1] thì ta đặt tg vào vị trí thứ 2

-nếu A[3]>A[2] thì ta không phải làm gì cả

Kết thúc bước 3

Trang 5

Bước 4: ta bắt đầu từ A[4] ta đem A[4] so

sánh lần lượt với các phần tử đứng trên

nó,bắt đầu từ A[3]

-nếu A[4]<A[3] thì ta gán A[4] cho biến tg sau đó đấy các phần tử đứng trên nó mà

>tg ,mỗi phần tử xuống một vị trí.việc đẩy này sẽ dừng khi tg gặp một phần tử < hơn nó,lúc này ta đặt tg vào vị trí trống của

phần tử > hơn nó bị đẩy xuống cuối cùng

Trang 6

+Nếu tg< hơn tất cả các phần tử đứng trên A[4] thì A[1] bị đẩy vào vị trí thứ 2,và việc đẩy lùi xuống sẽ dừng , ta đặt tg vào vị trí thứ nhất

-nếu A[4]>A[3] thì ta không phải làm gì cả.

Kết thúc bước 4

Tương tự các bước tiếp theo ta dùng thuật giải tư

ơng tự như các bước trên

Mời các bạn xem chương trình minh họa sau

Trang 7

#include<conio.h>

main()

{

int A[100]; int i,j,n,tg;

printf(“nhap so pt”);

Scanf(“%d”,&n);

for (i=1;i<=n;i++)

{printf(“\n a[%d]=“,i);

Scamf(“%d”,&a[i];}

for(i=0;i <=n-1;i++)

for (j=i+1 ;j <=n ; j++);

if( a[i]<a[j] )

{A[i]=tg;

A[i]=A[j];

A[j]=tg;

} printf(“\n sau khi sap xep”); for(i=1;i<=n;i++)

printf(“%d”,A[i]);

getch();}

Trang 8

Chóc c¸c b¹n thµnh c«ng

Ngày đăng: 24/06/2013, 01:25

TỪ KHÓA LIÊN QUAN

w