选择排序与冒泡排序
2010-09-07 00:17
134 查看
//交换两个数的值 #define swap(a,b){/ a=a^b;/ b=a^b;/ a=a^b;/ } //选择排序 void selectionSort(int *A,int n){ int i=0; int min=0; int j=0; for (i=0;i<n-1;i++) { min=i; for (j=i+1;j<=n-1;j++) { if (*(A+j)<A[min]) { min=j; } } swap(*(A+i),*(A+min)); } } //冒泡排序 void bubbleSort(int *A,int n){ int i=0; int j=0; for (i=0;i<n-1;i++) { for (j=0;j<n-1-i;j++) { if(*(A+j+1)<*(A+j)){ swap(*(A+j),*(A+j+1)); } } } } //打印数组 void print(int *A,int n){ int i=0; for(i=0;i<n;i++){ printf("%d/t",*(A+i)); } printf("/n"); } int main(int argc, char* argv[]) { int A[]={3,5,2,8,4,9,8,1}; print(A,sizeof(A)/sizeof(A[0])); //selectionSort(A,sizeof(A)/sizeof(A[0])); bubbleSort(A,sizeof(A)/sizeof(A[0])); print(A,sizeof(A)/sizeof(A[0])); return 0; }
相关文章推荐
- 冒泡排序和选择排序
- 算法设计与分析基础-3.1、选择排序、冒泡排序
- 冒泡排序和选择排序区别
- C语言分别实现冒泡排序、快速排序、选择排序
- Java之排序(冒泡排序、选择排序)
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 每日算法: 选择排序,冒泡排序
- 数据结构之冒泡排序和选择排序
- 数组中数的选择排序(先选出小的)和冒泡排序(先选出大的)
- 冒泡排序、选择排序、快速排序的比较
- 进制转换、冒泡排序、选择排序
- 插入排序,冒泡排序,选择排序
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- 算法---冒泡排序,快速排序,二分查找(折半查找),选择排序,插入排序
- C++ ------------排序算法(冒泡排序-快速排序-选择排序-插入排序-希尔排序)
- 经典排序算法设计与分析(插入排序、冒泡排序、选择排序、shell排序、快速排序、堆排序、分配排序、基数排序、桶排序、归并排序)
- JAVA学习笔记之选择排序与冒泡排序
- python开发之路Day17-算法设计(冒泡排序、选择排序、插入排序、二叉树)
- 选择排序和冒泡排序的区别
- 冒泡排序和选择排序