选择排序法,排序数字或者字符串
来源:互联网 发布:软壳冲锋衣 知乎 编辑:程序博客网 时间:2024/05/17 02:38
/*选择排序的思路:选择排序相比于冒泡排序,减少了交换次数,一般情况下冒泡每次比较符合交换要求时都要交换,而选择排序是不断的记录下标,保留最小数或者最大数的下标,在里层循环结束后再进行交换,减少了交换次数具体方法:遍历一次,记录下最值元素所在的位置,遍历结束后将此最值元素调整到合适位置,这样遍历一次,只需要交换一次,便可将最值放置到合适位置*/#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>int selectSort(int *arr,int len){if (arr == NULL || len < 0){return -1;}for (int i = 0; i < len - 1; i++){int min = i;for (int j = i + 1; j < len; j++){if (arr[min]>arr[j]){min = j;}}if (min != i){int temp = arr[i];arr[i] = arr[min];arr[min] = temp;}}return 0;}int selectSortString(char *str[], int len){if (str == NULL || len < 0){return -1;}for (int i = 0; i < len - 1; i++){int index = i;for (int j = i + 1; j < len; j++){if (strcmp(str[index], str[j]) > 0){index = j;}}if (index != i){char *temp = str[i];str[i] = str[index];str[index] = temp;}}return 0;}void test(){int ret = 0;int arr[] = { 5, 7, 3, 45, 86, 2 };int len = sizeof(arr) / sizeof(int);ret = selectSort(arr, len);for (int i = 0; i < len; i++){printf("%d ", arr[i]);}}void test1(){char *str[] = { "bbb", "ccc", "aaa", "ttt" };int len = sizeof(str) / sizeof(char *);selectSortString(str, len);for (int i = 0; i < len; i++){printf("%s\n", str[i]);}}void main(){test();test1();system("pause");}
0 0
- 选择排序法,排序数字或者字符串
- 数字排序(冒泡排序,选择排序)
- SQL 数字字符串 排序
- 字符串内数字排序
- 字符串按数字排序
- 选择排序排列字符串
- 字符串和选择排序
- 11.5 字符串:选择排序
- 数组排序问题(数字字符串排序)
- 数字排序问题(逆序,顺序)(冒泡排序法,选择排序法)
- java中数字字符串排序
- Java字符串排序中文+数字
- 如何用Perl对字符串或者数字数组进行排序。 hash 按value/按keys 排序(多种方法)。
- Mysql数字字符串按照数字排序
- 常用排序-选择法排序
- 常见排序-选择法排序
- 排序算法--选择排序法
- 按选择排序法排序。
- [Android] ImageView.ScaleType设置图解
- 三目运算符判断奇数或者是偶数
- GreenDao3.0学习(一)
- java基础的核心技术:多线程(一)
- 第三天学习笔记
- 选择排序法,排序数字或者字符串
- 张明明的cartographer 安装方法 测试可用。
- ROS_Kinetic_x 目前已更新的常用機器人資料 rosbridge agvs pioneer_teleop nao TurtleBot
- 学习Activity的一些注意事项
- 字符串转整数(String to Integer (atoi))
- angular利用$location实现搜索功能。
- POJ 3281 网络流
- UIButton / UIControl
- 反射之-反射与泛型 反射实现动态代理