排序算法

  1. 冒泡排序
    遍历len(nums)-1次
    每次遍历都找到其最大值,通过交换让它放在最右侧
    算法:

       void BubbleSort(int a[], int len)
       {
       	int i, j, temp;
       	for (j = 0; j < len - 1; j++)
       	{
       		for (i = 0; i < len - 1 - j; i++)
       		if (a[i] > a[i + 1])
       		{
       			temp = a[i];
       			a[i] = a[i + 1];
       			a[i + 1] = temp;
       		}
       	}
       }
    
  2. 选择排序
    每次遍历选择最小的放在数组的头部,如果不是,就进行交换。
    算法:

           void SelectionSort(int arr[], int length)
         {
         	for (int i = 0; i < length; i++)
         	{
         		int index = i;
         		for (int j = i+1; j < length; j++)
         		{
         			if (arr[j] < arr[index])
         			{
         				index = j;
         			}
         		}
         		if (index == i)
         			continue;
         		else
         		{
         			int temp;
         			temp = arr[index];
         			arr[index] = arr[i];
         			arr[i] = temp;
         		}
         	}
    
         }
    
posted @ 2021-10-20 21:03  一蓑烟雨任平生生  阅读(39)  评论(0)    收藏  举报