Tải bản đầy đủ (.ppt) (8 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (288.64 KB, 8 trang )


Ngôn ngữ lập trình c
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
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.
Bài làm


Thuật giải:
Thuật giải:
Ta thấy mảng A có N phần tử.ta sẽ chia quá
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ừ
trình chèn qua n bước.sắp xếp tăng dần từ
phần tử thứ i đến n.
phần tử thứ i đến n.
Bước 1:
Bước 1:
ta xét phần tử A[1] ta thấy có 1 phần
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ả.
tử .ta không cần phải làm gì cả.
Kết thúc bước 1
Kết thúc bước 1

Bước 2:
Bước 2:


ta bắt đầu từ phần tử thứ 2 là A[2],ta
ta bắt đầu từ phần tử thứ 2 là A[2],ta
đem A[2] so sánh với A[1].
đ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ứ
-nếu thấy A[2]<A[1] ta lấy A[2] vào vị trí thứ
nhất là A[1].
nhất là A[1].
-Nếu Trường hợp A[2]>A[1] ta không làm gì
-Nếu Trường hợp A[2]>A[1] ta không làm gì
cả.
cả.
Kết thúc bước 2
Kết thúc bước 2

Bước 3:
Bước 3:
ta bắt đầu từ phần tử thứ 3.đó là A[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ử
.ta đem so sánh lần lượt với phần tử
A[2],A[1],
A[2],A[1],
-nếu A[3]<A[2] thì mang giá trị của A[3] gán
-nếu A[3]<A[2] thì mang giá trị của A[3] gán
cho biến
cho biến
tg
tg
sau đó đẩy A[3] vào vị trí thứ

sau đó đẩy A[3] vào vị trí thứ
3.tiếp theo ta so sánh tg với A[1],nếu
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
tg<A[1] thì ta đẩy A[1] vào vị trí thứ 2 rồi
đẩy
đẩy
tg
tg
vào vị trí thứ nhất.ngược lại nếu
vào vị trí thứ nhất.ngược lại nếu
tg
tg
>A[1] thì ta đặt tg vào vị trí thứ 2
>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ả.
-nếu A[3]>A[2] thì ta không phải làm gì cả.
Kết thúc bước 3
Kết thúc bước 3

Bước 4:
Bước 4:
ta bắt đầu từ A[4] ta đem A[4] so
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
sánh lần lượt với các phần tử đứng trên
nó,bắt đầu từ A[3].
nó,bắt đầu từ A[3].
-nếu A[4]<A[3] thì ta gán A[4] cho biến
-nếu A[4]<A[3] thì ta gán A[4] cho biến

tg
tg


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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×