美文网首页
选择排序

选择排序

作者: 净土_0342 | 来源:发表于2018-05-05 17:06 被阅读0次

    C语言的代码:

    #include <iostream>
    using namespace std;
    void insertionSort(int a[],int len){
        int temp;
        int i;//已排好序的序列的下一个元素(待插元素)的下标
        int j;//有序序列的末尾下标
        for(i = 1;i<len;i++){
            temp = a[i];
    //        for(j = i-1;j>=0;j--){//遍历有序序列,与要插入的元素比较
    //            if(a[j]>temp){
    //                a[j+1] = a[j];//将元素后移,满足条件后移一个位置
    //            }
    //        }
            j=i-1;
            while(j>=0&&a[j]>temp){
                a[j+1] = a[j];
                j--;
            }
            a[j+1] = temp; //插入
        }
        printf("插入排序的结果:\n");
        for(int i = 0 ; i< len; i++){
            printf("%d ",a[i]);
        }
        printf("\n\n");
    
    }
    int main() {
        int a[] = {1,5,10,5,6,4,7,8};
        insertionSort(a,8);
        std::cout << "Hello, World!" << std::endl;
        return 0;
    }
    

    伪代码:

    for j=2 to A.length
      key = a[j]
    //插入a[j] 到已经排好序的a[1....j-1]
      i=j-1
      while i>0 and a[i]>key
        a[i+1] = a[i]
        i =i-1
      a[i+1] =key
    
    

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/iglerftx.html