新聞中心
在C語(yǔ)言中,我們可以使用各種排序算法對(duì)數(shù)組進(jìn)行排序,這里我們將介紹兩種常見(jiàn)的排序算法:冒泡排序和選擇排序,這兩種算法都非常簡(jiǎn)單,易于理解和實(shí)現(xiàn)。

1、冒泡排序
冒泡排序是一種簡(jiǎn)單的排序算法,它重復(fù)地遍歷要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái),遍歷數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。
以下是冒泡排序的C語(yǔ)言實(shí)現(xiàn):
#includevoid bubble_sort(int arr[], int n) { for (int i = 0; i < n 1; i++) { for (int j = 0; j < n 1 i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); bubble_sort(arr, n); printf("Sorted array is: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf(" "); return 0; }
2、選擇排序
選擇排序是一種簡(jiǎn)單直觀的排序算法,它的工作原理是每一次從待排序的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€(gè)元素,存放在序列的起始位置,直到全部待排序的數(shù)據(jù)元素排完。
以下是選擇排序的C語(yǔ)言實(shí)現(xiàn):
#includevoid selection_sort(int arr[], int n) { for (int i = 0; i < n 1; i++) { int min_idx = i; for (int j = i + 1; j < n; j++) { if (arr[j] < arr[min_idx]) { min_idx = j; } } if (min_idx != i) { int temp = arr[i]; arr[i] = arr[min_idx]; arr[min_idx] = temp; } } } int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); selection_sort(arr, n); printf("Sorted array is: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf(" "); return 0; }
3、輸入兩個(gè)數(shù)組并排序
現(xiàn)在我們已經(jīng)學(xué)會(huì)了如何對(duì)一個(gè)數(shù)組進(jìn)行排序,接下來(lái)我們將學(xué)習(xí)如何輸入兩個(gè)數(shù)組并對(duì)它們進(jìn)行排序,我們可以使用scanf函數(shù)從用戶(hù)那里獲取輸入,并將輸入存儲(chǔ)在數(shù)組中,我們可以使用上面介紹的冒泡排序或選擇排序算法對(duì)這兩個(gè)數(shù)組進(jìn)行排序,我們可以使用printf函數(shù)輸出排序后的數(shù)組。
以下是一個(gè)完整的示例,演示了如何輸入兩個(gè)數(shù)組并對(duì)它們進(jìn)行排序:
#include#define N 6 // 定義數(shù)組大小為6個(gè)元素,可以根據(jù)需要修改這個(gè)值 void bubble_sort(int arr[], int n) { for (int i = 0; i < n 1; i++) { for (int j = 0; j < n 1 i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } void selection_sort(int arr[], int n) { for (int i = 0; i < n 1; i++) { int min_idx = i; for (int j = i + 1; j < n; j++) { if (arr[j] < arr[min_idx]) { min_idx = j; } } if (min_idx != i) { int temp = arr[i]; arr[i] = arr[min_idx]; arr[min_idx] = temp; } } } int main() { int arr1[N], arr2[N]; // 定義兩個(gè)數(shù)組,大小為N個(gè)元素,可以根據(jù)需要修改這個(gè)值 printf("Enter elements of first array: "); // 提示用戶(hù)輸入第一個(gè)數(shù)組的元素個(gè)數(shù)和元素值,用空格隔開(kāi),5 3 8 1 6 2(共6個(gè)元素)
網(wǎng)頁(yè)標(biāo)題:c語(yǔ)言怎么輸入兩個(gè)數(shù)組排序
文章URL:http://fisionsoft.com.cn/article/coppihs.html


咨詢(xún)
建站咨詢(xún)
