c: Selection Sort
SortAlgorithm.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /*****************************************************************/ /** * \file SortAlgorithm.h * \brief 业务操作方法 * VSCODE c11 https://github.com/hustcc/JS-Sorting-Algorithm/blob/master/2.selectionSort.md * \author geovindu,Geovin Du * \date 2023-09-19 ***********************************************************************/ #ifndef SORTALGORITHM_H #define SORTALGORITHM_H #include <stdio.h> #include <stdlib.h> int * BubbleSort( int * data, int lensize); void selectionSort( int arr[], int len); #endif //SORTALGORITHM_H |
SortAlgorithm.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | /*****************************************************************/ /** * \file SortAlgorithm.c * \brief 业务操作方法 * VSCODE c11 https://github.com/hustcc/JS-Sorting-Algorithm/blob/master/2.selectionSort.md * \author geovindu,Geovin Du * \date 2023-09-19 ***********************************************************************/ #include <stdio.h> #include <stdlib.h> /**1。冒泡排序法 ElementType data[] **/ int * BubbleSort( int * data, int lensize) { int i,j,tmp; int * newdate; /* 原始数据 */ //int lensize=sizeof(data) / sizeof(data [0]);//sizeof(data); //sizeof(data) / sizeof(data[0]);// printf ( "2共 長度是:%d " ,lensize); printf ( "冒泡排序法:\n原始数据为:" ); for (i=0;i<lensize;i++) printf ( "%3d" ,data[i]); printf ( "\n" ); for (i=(lensize-1);i>=0;i--) /* 扫描次数 */ { for (j=0;j<i;j++) /*比较、交换次数*/ { if (data[j]>data[j+1]) /* 比较相邻两数,如第一个数较大则交换 */ { tmp=data[j]; data[j]=data[j+1]; data[j+1]=tmp; } } printf ( "第 %d 次排序后的结果是:" ,lensize-i); /*把各次扫描后的结果打印出来*/ for (j=0;j<lensize;j++) printf ( "%3d" ,data[j]); printf ( "\n" ); } //printf("最终排序的结果为:"); for (i=0;i<lensize;i++) //newdate[i]=data[i]; printf ( "%3d" ,data[i]); printf ( "\n" ); return data; } void swap( int *a, int *b) //交換兩個變數 { int temp = *a; *a = *b; *b = temp; } /**2 C Program for Selection Sort 选择排序*/ void selectionSort( int arr[], int len) { int i,j; for (i = 0 ; i < len - 1 ; i++) { int min = i; for (j = i + 1; j < len; j++) //走訪未排序的元素 if (arr[j] < arr[min]) //找到目前最小值 min = j; //紀錄最小值 swap(&arr[min], &arr[i]); //做交換 } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /*****************************************************************/ /** * \file helloworld.C * \brief 业务操作方法 * VSCODE c11 * \author geovindu,Geovin Du * \date 2023-09-19 ***********************************************************************/ #include <stdlib.h> #include <stdio.h> #include <string.h> #include "include/SortAlgorithm.h" typedef int ElementType; int main() { ////SetConsoleOutputCP(65001); printf ( "hello word\n" ); printf ( "你好,中囯\n" ); int i; int *p; char str[20]; int data[12]={60,50,39,27,12,8,45,63,20,2,10,88}; /* 原始数据 */ int lensize= sizeof (data) / sizeof (data [0]); //sizeof(data); p=BubbleSort(data,lensize); itoa(lensize, str, 10); printf ( "1共長度是 %d " ,lensize); printf ( "最终排序的结果为:" ); for (i=0;i<lensize;i++) printf ( "%3d" ,p[i]); printf ( "\n" ); //选择排序 int arr[] = { 64, 25, 12, 22, 11,88,28,100 }; int n = sizeof (arr) / sizeof (arr[0]); selectionSort(arr, n); int ii; for (ii = 0; ii < n; ii++) printf ( "%d " , arr[ii]); printf ( "\n" ); system ( "pause" ); return 0; } |
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
分类:
Cpp programming
标签:
排序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2022-09-19 java: Facade Pattern
2018-09-19 MySQL5.7: sql script demo
2011-09-19 sql uniqueidentifier转换成varchar 数据类型