SortAlgorithm.h
/*****************************************************************//** * \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 selection_sort(int arr[], int len); #endif //SORTALGORITHM_H
SortAlgorithm.c
/*****************************************************************//** * \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 selection_sort(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]); //做交換 } }
/*****************************************************************//** * \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]); selection_sort(arr, n); int ii; for(ii = 0; ii < n; ii++) printf("%d ", arr[ii]); printf("\n"); system("pause"); return 0; }
标签:Sort,Selection,int,lensize,printf,sizeof,include,data From: https://www.cnblogs.com/geovindu/p/17716088.html