数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
来源:互联网 发布:godaddy购买域名教程 编辑:程序博客网 时间:2024/06/06 03:49
直接选择排序
首先在所有记录中选出码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换…依次类推,直到所有记录排好序。直接选择排序的平均时间复杂度O(n2)
java代码:
public class Straight_Select {public static void main(String[] args) {int array[] = {2,9,4,5,1,8};showArray(array);System.out.println("\n排序后");Straight_Select(array);showArray(array);}private static void Straight_Select(int[] a) {int i,j,k,temp;int n = a.length;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++){if(a[j]<a[k])k = j;}if(k!=i){temp = a[i];a[i]=a[k];a[k]=temp;}}}private static void showArray(int[] a){for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}}
C代码:
//直接选择排序
#include<stdio.h> void showArray(int a[],int len){for(int i=0;i<len;i++){printf("%d ",a[i]);}}void Straight_Select(int a[],int n){int i,j,k,temp;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++){if(a[j]<a[k])k = j;}if(k!=i){temp = a[i];a[i]=a[k];a[k]=temp;}}}int main(){int array[] = {2,9,4,5,1,8};int len = sizeof(array)/sizeof(int);showArray(array,len);printf("\n排序后\n");Straight_Select(array,len);showArray(array,len);return 0;}
直接选择排序最好和最坏时间复杂度都是O(n^2) ,是一种不稳定排序
1 0
- 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
- 数据结构算法之排序系列Java、C源码实现(1)--直接插入排序
- 【大话数据结构&算法】直接选择排序(Java/C实现源码)
- 数据结构算法之排序系列Java、C源码实现(2)--希尔排序
- 数据结构算法之排序系列Java、C源码实现(4)--堆排序
- 数据结构算法之排序系列Java、C源码实现(5)--冒泡排序
- 数据结构算法之排序系列Java、C源码实现(6)--快速排序
- 数据结构算法之排序系列Java、C源码实现(7)--归并排序
- 数据结构算法之排序系列Java、C源码实现(8)--基数排序
- 数据结构算法之排序系列Java、C源码实现(9)--总结
- 【大话数据结构&算法】直接插入排序(Java/C实现源码)
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 排序算法系列-选择之直接选择
- 数据结构之排序算法(五)-直接插入排序,希尔排序,直接选择排序
- 用JAVA实现排序算法之三:直接选择排序
- 数据结构和算法系列6 七大排序之直接选择排序和堆排序
- java数据结构之插入排序(选择排序(直接选择排序、堆排序))
- 【大话数据结构&算法】冒泡排序(Java/C实现源码)
- csdn mysql 知识库,不错
- UVA 11882(p218)----Biggest Number
- Java web在Linux上取接口参数乱码问题
- ACL
- Java的IO流
- 数据结构算法之排序系列Java、C源码实现(3)--直接选择排序
- JavaScript高级程序设计(第3版)第四章读书笔记
- hibernate 建立annotation版本的helloworld
- UVA 11925(p254)----Generating Permutations
- 树莓派安装 python3 及 python IDE
- UVA 11971(p335)----Polygon
- 迷人的hessian,你需要了解
- list,map,array理解
- Wireshark基本介绍和学习TCP三次握手