C语言之快速排序法学习笔记

来源:互联网 发布:怎么注册企业淘宝店铺 编辑:程序博客网 时间:2024/05/20 16:36
#include<stdio.h>#include<stdlib.h>void change(int *pa, int *pb){int temp = *pa;*pa = *pb;*pb = temp;}void show(int *p, int n){printf("数组状态:\n");for (int i = 0; i < n; i++){printf("%5d", p[i]);}printf("\n");}void Quicksort(int *p, int left, int right){int i = left;int j = right + 1;if (i < j){do {do{i++;} while (p[i]<p[left] && i <= right);do{j--;} while (p[j] >= p[left] && j>left);if (i < j){change(&p[i], &p[j]);}} while (i<j);show(p, 10);change(&p[left], &p[j]);Quicksort(p, left, j - 1);Quicksort(p, j + 1, right);}}void main(){int a[10] = {10, 9, 20, 8, 38, 49, 11, 58, 34, 22};show(a, 10);Quicksort(a, 0, 10 - 1);show(a, 10);system("pause");}

原创粉丝点击