Bài tập C: Sắp xếp một danh sách chứa các số nguyên

các thánh giúp em với em đang cần gấp:sexy_girl:
viết giả mã cho chương trình con sắp xếp một danh sách chứa các số nguyên, trong các trường hợp sau:
- danh sách được cài đặt bằng mảng (danh sách đặc biệt)
- danh sách được cài đặt bằng con trỏ (danh sách liên kết)
 
Sửa lần cuối:
thánh nào giúp em với em đang cần gấp???
viết giả mã cho chương trình con sắp xếp một danh sách chứa các số nguyên, trong các trường hợp sau:
- danh sách được cài đặt bằng mảng (danh sách đặc biệt)
- danh sách được cài đặt bằng con trỏ (danh sách liên kết)
 

taplamhacker

♥ Thanh Trâm ♥
thánh nào giúp em với em đang cần gấp������������������
viết giả mã cho chương trình con sắp xếp một danh sách chứa các số nguyên, trong các trường hợp sau:
- danh sách được cài đặt bằng mảng (danh sách đặc biệt)
- danh sách được cài đặt bằng con trỏ (danh sách liên kết)
:waaaht:

mảng
[AH]
Mã:
void sort(int A[] , int n , int h)
{
	printf("nhap h:");
	scanf("%d",&h);
	if( h!=0 )
	for ( int i = 1 ; i < n ; i ++)
		for ( int j = i+1 ; j <= n ; j ++)
			if ( A[i] >= A[j] )
				{
					int tmp = A[i];
					A[i] = A[j];
					A[j] = tmp;
				}
	if ( h == 0)
	for ( int i = 1 ; i <= n ; i ++)
		for ( int j = i+1 ; j <= n ; j ++)
			if ( A[i] <= A[j] )
				{
					int tmp = A[i];
					A[i] = A[j];
					A[j] = tmp;
				}
	for ( int i = 1 ; i <= n ; i ++)
		printf ("%d",A[i]);
}
[/AH]
còn cái con trỏ mình chưa được học @@! cho dù học xong môn lập trình C rồi nên tạch
 

taplamhacker

♥ Thanh Trâm ♥
code cho bài con trỏ, bạn xem tham khảo nha
[AH]
Mã:
#include<stdio.h>
#include <stdlib.h>


void input(int *A, int n)
{
    for ( int i = 0 ; i < n ; i ++)
        scanf("%d",(A+i));
}
void sort(int *A , int n , int h)
{
    printf("nhap h:");
    scanf("%d",&h);
    if( h!=0 )
    for ( int i = 0 ; i < n-1 ; i ++)
        for ( int j = i+1 ; j < n ; j ++)
            if ( *(A+i) >= *(A+j) )
                {
                    int tmp = *(A+i);
                    *(A+i) = *(A+j);
                    *(A+j) = tmp;
                }
    if ( h == 0)
    for ( int i = 0 ; i < n ; i ++)
        for ( int j = i+1 ; j < n ; j ++)
            if ( *(A+i) <= *(A+j) )
                {
                    int tmp = *(A+i);
                    *(A+i) = *(A+j);
                    *(A+j) = tmp;
                }
    for ( int i = 0 ; i < n ; i ++)
        printf ("%d",*(A+i));
}
int main()
{
    int n,h,*A;
    scanf("%d",&n);
    A=(int*)malloc(sizeof(int)); //A=(int*)malloc(n*sizeof(int)) tuy chuong trinh ma ban thay doi cau nay
    input(A,n);
    sort(A,n,h); 
    free(A);
}
[/AH]
 

Thống kê

Chủ đề
102,787
Bài viết
470,610
Thành viên
340,593
Thành viên mới nhất
winspire
Top