C 언어에서 큰 것부터 작은 것까지 버블 정렬을 구현하는 방법은 무엇입니까?
C 언어 버블 정렬 방법:
먼저 첫 번째 숫자를 가장 큰 숫자로 선택한 다음 쌍으로 숫자를 비교하여 둘 사이의 최대값을 구하고 순서대로 비교합니다. 구체적인 코드 구현은 다음과 같습니다.
#include <iostream> #include <time.h> using namespace std; void srandData(int *, int );//产生随机数的函数 void bubbleSort(int *, int );//冒泡排序具体实现函数 void swap(int *, int *);//两个数字实现交换的函数 void display(int *, int );//在屏幕输出结果函数 int main() { const int N = 10;//定义常数 int arr[N];//定义数组 srandData(arr, N); bubbleSort(arr, N); display(arr, N); return 0; } void srandData(int *a, int n) { srand(time(NULL)); for(int i = 0; i < n; i++) { a[i] = rand() % 50;//取50以下的数字 cout << a[i] << " "; } cout << endl; } void swap(int *b, int *c) { int temp = *c; *c = *b; *b = temp; } void bubbleSort(int *a, int n) { for(int i = 0; i < n; i++) { for(int j = 0; j < n - i - 1; j++) { if(a[j] < a[j + 1]) { swap(&a[j], &a[j + 1]);//两者交换 } } } } void display(int *d, int n) { for(int i = 0; i < n; i++) { cout << d[i] << " "; } cout << endl; }
추천 튜토리얼: "C Video Tutorial"
위 내용은 C 언어에서 큰 것부터 작은 것까지 버블 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!