zoukankan      html  css  js  c++  java
  • c语言之排序

    1.冒泡排序(一)

    拿第I个数分别和后面的数比较,小的放在前面,第一次循环后,第一个数是最小的,第二次循环从第二个数开始比较,依次执行。

    1 for(i=0;i<n-1;i++){
    2         for(j=i+1;j<n;j++){
    3         if(a[i]>a[j]){
    4             t=a[i];
    5             a[i]=a[j];
    6             a[j]=t;
    7             }
    8         }    
    9     }

    2.冒泡排序(二)
    拿前一个数和后一个数进行比较,把大数放在后面,第一次循环结束后,最大的数在最后一位,下一次循环还是从第一个数开始比较,依次执行。

    for(i=0;i<n-1;i++){
            for(j=0;j<n-i-1;j++){
                if(a[j]>a[j+1]){
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
                }
            }
        }

    3.选择排序
    定义一个标记,首先放在第一个数上,然后依次和后面的数进行比较,如果比后面的数小的话,就把标记移动到该位置上,一次循环结束后判断该标记和初始标记值是否相同,不同就将该位置的数值进行交换,下一次循环从第二个数开始,依次执行。

     1 for(i=0;i<n-1;i++){
     2         k=i;
     3         for(j=i+1;j<n;j++){
     4             if(a[j]<a[k]){
     5                 k=j;
     6             }
     7         
     8         }
     9         if(i!=k){
    10             temp=a[k];
    11             a[k]=a[i];
    12             a[i]=temp;
    13         
    14         }    
    15     }

     4.插入排序

    1 for(i=2;i<n+1;i++){
    2         r[0]=r[i];
    3         j=i-1;
    4         for(;r[j]>r[0];j--){
    5         r[j+1]=r[j];
    6         }
    7         r[j+1]=r[0];
    8     }
  • 相关阅读:
    Regular Expression Matching
    Palindrome Number
    String to Integer (atoi)
    Reverse Integer
    ZigZag Conversion
    Longest Palindromic Substring
    Add Two Numbers
    git 操作原理
    ES6学习之路2----变量的解构赋值
    ES6学习之路1----变量的声明
  • 原文地址:https://www.cnblogs.com/jiangyicheng/p/5106723.html
Copyright © 2011-2022 走看看