本文主要是介绍冒泡法与选择法对数据排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.选择法
#include <stdio.h>
void SelectSort(int* a, size_t n)
{int end = n - 1;while (end >= 0){int start = 0;int max = end;while (start < end){if (a[start] > a[max]){max = start;}start++;}swap(a[max], a[end]);end--;}
}
int main()
{int i = 0;int arr[] = {2,9,4,6,7,10,16,18,12};//sizeof可以求数组元素的个数select_sort(arr, sz); //数组名作实参for (i = 0; i < sz ; i++) //输出已经排好序的数,i不能取等于,数组元素的下标从0开始.{printf("%d ",arr[i]);}return 0;
}
2.冒泡法
#include <stdio.h>
void mao_pao(int arr[] , int sz)
{int temp = 0;int j = 0;int i = 0;for (i = 1; i <= sz-1; i++) { for (j = 0; j < sz - i;j++)if (arr[j] > arr[j + 1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp; //交换两个数的位置,使小数上浮}}}
int main()
{int k = 0;int arr[] = {1,13,17, 2, 4, 3, 5, 7, 8, 11, 9, 12, 16 };int sz = sizeof(arr) / sizeof(arr[0]);mao_pao(arr, sz); for (k = 0; k < sz; k++)printf("%d ",arr[k]);return 0;
}
这篇关于冒泡法与选择法对数据排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!