C语音中最简单的排序冒泡排序和选择排序代码实现(非指针)

#include<stdio.h>

int main() {
int a[5] = { 2,5,7,3,-1 };
int n = sizeof(a) / sizeof(a[0]);//元素个数
for (int i = 0; i < n - 1; i++) {//比较轮数
  for (int j = 0; j < n - 1 - i; j++) {//比较次数,每轮比较次数减一,由于n-1为比较次数,n-1-i即为当前轮数比较的次数
    if (a[j] > a[j + 1]) {
      int tmp;
      tmp = a[j];
      a[j] = a[j + 1];
      a[j + 1] = tmp;
        }
      }

    }
for (int k = 0; k < n; k++) {
  printf("%d ", a[k]);
}
return 0;
}

//选择排序

int main()
{
int arr[] = { 5,3,9,1,22,2,4,8,11,18 };
int i;
int j;
int len = sizeof(arr) / sizeof(arr[0]);
  for (i = 0; i < len; i++)
  {
    int index = 0;
    for (j = 0; j < len-i; j++)
    {

      if (arr[j] > arr[index]) {
      index = j;
      }if (index != arr[len - 1 - i]) {
      int temp = arr[len - 1 - i];
      arr[len - 1 - i] = arr[index];
      arr[index] = temp;

}
}
}
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

 

原文地址:https://www.cnblogs.com/yyslif/p/11414933.html