13.4常用內建方法
阿新 • • 發佈:2022-03-24
一.排序
1.快速排序程式碼
#include<stdio.h> #define Max 100 //儲存的最大值 int Sort(int A[],int head,int end) { printf("%d %d\n", head, end); int Standard = A[head]; //標準值為最左邊的數 while (head < end) { while (A[end] >= Standard && head < end) end--; A[head] = A[end]; while (A[head] <= Standard&& head < end) head++; A[end] = A[head]; } A[head] = Standard; return end; } void Circle(int A[],int head,int end) { if (head < end) { int temp; temp = Sort(A, head, end); Circle(A, head, temp-1); Circle(A, temp+1, end); } } void Print(int A[],int n) { for (int i = 0; i < n; i++) printf("%d\t", A[i]); } int main() { int n,A[Max]; printf("請輸入n:\n"); scanf_s("%d", &n); for (int i = 0; i < n; i++) scanf_s("%d", A + i); Circle(A, 0, n-1); Print(A, n); }