Sắp xếp một mảng chuỗi theo thứ tự từ điển trong C
Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để sắp xếp một mảng các chuỗi theo thứ tự từ điển.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
- Nhập vào một mảng các chuỗi từ người dùng.
- Sắp xếp các chuỗi trong mảng theo thứ tự từ điển.
- Hiển thị mảng sau khi đã sắp xếp.
Bài tập sắp xếp một mảng chuỗi theo thứ tự từ điển trong C
Cách giải quyết bài lập trình
- Sử dụng thuật toán sắp xếp nổi bọt (bubble sort) để sắp xếp mảng chuỗi.
- So sánh từng cặp chuỗi liên tiếp và hoán đổi vị trí nếu cần thiết để đảm bảo thứ tự từ điển.
Hãy xem cách giải như sau:
#include <stdio.h> #include <string.h> // Hàm sắp xếp mảng chuỗi theo thứ tự từ điển void bubbleSort(char arr[][100], int n) { int i, j; char temp[100]; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (strcmp(arr[j], arr[j + 1]) > 0) { strcpy(temp, arr[j]); strcpy(arr[j], arr[j + 1]); strcpy(arr[j + 1], temp); } } } } int main() { char arr[100][100]; int n, i; printf("Nhập số phần tử của mảng: "); scanf("%d", &n); printf("Nhập các chuỗi của mảng:\n"); for (i = 0; i < n; i++) { printf("arr[%d] = ", i); scanf("%s", arr[i]); } // Sắp xếp mảng chuỗi theo thứ tự từ điển bubbleSort(arr, n); printf("Mảng sau khi sắp xếp theo thứ tự từ điển:\n"); for (i = 0; i < n; i++) { printf("%s\n", arr[i]); } return 0; }
Kết quả:
Bài viết này được đăng tại [free tuts .net]
Đó là cách viết một chương trình trong ngôn ngữ lập trình C để sắp xếp một mảng chuỗi theo thứ tự từ điển. Chúc bạn thực hiện thành công!