您的当前位置:首页正文

学习途中之排序

来源:花图问答
  • 选择排序
    //数组 //把这个数组里面的元素从大往小得排序

    int arr[] = {10,2,30,4,50,6,70,8,90};
    
    int length  = sizeof(arr)/sizeof(arr[0]);
    
    for (int i = 0; i<length - 1;i++){
      for(int j=i+1; j<length ; j++){
          //比较  arr[i]  arr[j]
          if (arr[i]<arr[j]) {
              int temp =arr[i];
              arr[i]=arr[j];
              arr[j]=temp;
          }
      }
    }
      for (int i=0; i<length; i++)   {
          printf("arr[%d]=%d",i,arr[i]);
      }
    

输出结果:

E7864348-C005-4750-9CC9-DB7C8BCF490B.png
  • 冒泡排序
int arr[] ={10,2,30,4,50,6,70,8,90}; //把这个数组里面的元素从大往小得排序
int length=sizeof(arr)/sizeof(arr[0]);

for (int i =0; i<length; i++)
{
    for (int j=0; j<length-1-i; j++)
    {
        if (arr[j]<arr[j+1])
        {
            int temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
        }
    }
}
for (int i=0; i<length; i++)
{
    printf("arr[%d]=%d\n",i,arr[i]);
}

输出结果:

E7864348-C005-4750-9CC9-DB7C8BCF490B.png
刚刚新建了一个分享交流群,366270001,期待你们的加入。