交换排序
Posted wzqstudy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交换排序相关的知识,希望对你有一定的参考价值。
#include "stdio.h" #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType r[MAXSIZE+1]; int length; }SortList; /* 冒泡排序:BubbleSort */ void BubbleSort(SortList *L) { int i,j;ElemType t; for(i=1;i<L->length;i++) //排序趟数 for(j=1;j<=L->length-i;j++) //每趟比较的次数 if(L->r[j]>L->r[j+1]) { t = L->r[j]; L->r[j] = L->r[j+1]; L->r[j+1] = t; } } //改进算法 void BubbleSort(SortList *L) { int i,j; ElemType t; int flag = 1; for(i=1;flag&&i<L->length;i++) for(flag=0,j=1;j<=L->length-i;j++) if(L->r[j]>L->r[j+1]) { t = L->r[j]; L->r[j] = L->r[j+1]; L->r[j+1] = t; flag = 1; //有交换,则置交换标记为真,需要进行下趟排序 } } //快速排序 void HoareSort(SortList *L,int low,int high) { int i,j; if(low<high) { i = low; j = high; L->r[0] = L->r[i]; while(i<j) { while(i<j&&L->r[j]>=L->r[0])j--; L->r[i] = L->r[j]; while(i<j&&L->r[i]<L->r[0])i++; L->r[j]=L->r[i]; } L->r[i]=L->r[0]; HoareSort(L,low,i-1); HoareSort(L,i+1,high); } } void QuickSort(SortList *L) { HoareSort(L,1,L->length); }
以上是关于交换排序的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段