SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Sử dụng con trỏ để sắp xếp một mảng số nguyên một cách tăng dần trong C

Trong lập trình C, con trỏ là một khái niệm quan trọng và mạnh mẽ. Sử dụng con trỏ, mình có thể thực hiện các thao tác trên mảng một cách linh hoạt và hiệu quả. Trong bài tập này, mình sẽ tập trung vào việc sử dụng con trỏ để sắp xếp một mảng số nguyên theo thứ tự tăng dần.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Chương trình sắp xếp một mảng số nguyên theo thứ tự tăng dần trong C

Cách giải quyết

Để giải quyết bài tập này, chúng ta sẽ làm như sau:

  • Viết một hàm để sắp xếp mảng số nguyên theo thứ tự tăng dần, sử dụng con trỏ để truy cập các phần tử của mảng.
  • Trong hàm sắp xếp, mình sẽ sử dụng thuật toán sắp xếp nổi bọt (bubble sort) hoặc bất kỳ thuật toán sắp xếp nào khác.

Hãy xem cách giải bài lập trình sau

Bài viết này được đăng tại [free tuts .net]

File: sort_array_using_pointers.c

#include <stdio.h>

// Hàm sắp xếp mảng số nguyên theo thứ tự tăng dần sử dụng con trỏ
void sortArray(int *arr, int n) {
    int *ptr1, *ptr2, temp;
    for (ptr1 = arr; ptr1 < arr + n - 1; ptr1++) {
        for (ptr2 = ptr1 + 1; ptr2 < arr + n; ptr2++) {
            if (*ptr1 > *ptr2) {
                temp = *ptr1;
                *ptr1 = *ptr2;
                *ptr2 = temp;
            }
        }
    }
}

// Hàm in mảng
void printArray(int *arr, int n) {
    for (int i = 0; i < n; i++) {
        printf("%d ", *(arr + i));
    }
    printf("\n");
}

int main() {
    int arr[] = {5, 2, 9, 1, 6};
    int n = sizeof(arr) / sizeof(arr[0]);
    
    printf ("Bài tập đăng tại freetuts.net");
    printf("Mang truoc khi sap xep: ");
    printArray(arr, n);

    // Sắp xếp mảng
    sortArray(arr, n);

    printf("Mang sau khi sap xep: ");
    printArray(arr, n);

    return 0;
}

Kết quả:

z5271704268411 cd68a45c177c55efbdaaf45fa53a3169 jpg

Giải thích:

  • Trong code trên, mình đã sử dụng con trỏ để truy cập các phần tử của mảng và sắp xếp chúng theo thứ tự tăng dần.
  • Hàm sortArray thực hiện sắp xếp mảng bằng cách so sánh giá trị của các phần tử sử dụng con trỏ.
  • Kết quả cuối cùng là mảng đã được sắp xếp theo thứ tự tăng dần.

Việc này giúp mình sử dụng con trỏ để sắp xếp mảng một cách hiệu quả trong ngôn ngữ lập trình C.

Cùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top