zoukankan      html  css  js  c++  java
  • 冒泡排序,直接选择排序,插入排序实现

    /*
     Sort
      programmer:qpz
      time:2014-11-02
    */
    #include <stdio.h>
    #define MAX 10
    //冒泡排序法 
    void BubbleSort(int *data,int n);
    //直接插入排序法
    void StraightInsertion(int *data,int n);
    //选择排序法
    void choiceSort(int *data,int n); 
    void PrintArr(int *,int);
    //void SortVerdict(bool n); 
    int main(void)
    {
    int a[MAX]={5,2,92,28,25,52,29,59,9,55};
      //  bool n;
      PrintArr(a,MAX);
    // BubbleSort(a,MAX);
    // StraightInsertion(a,MAX);
        choiceSort(a,MAX);
    PrintArr(a,MAX);
    return 0;
    }
    void PrintArr(int *a,int n)
    {
    int i;
    for(i=0;i<n;i++){
    printf("%3d",a[i]);
    }
    printf(" ");
    }
    //冒泡排序 
    void BubbleSort(int *data,int n)
    {
      int i,j;
      int t,flag=1;
      for(i=0;i<n&&flag;i++){
      flag=0;
      for(j=n-1;j>i;j--){
      if(data[j]<data[j-1]){
       t=data[j];
    data[j]=data[j-1];
    data[j-1]=t;
    flag=1;
      }//if
      }//for
      }//for
    }
    //直接插入排序 
    void StraightInsertion(int *data,int n)
    {
    int p,i;
    int j;
    for(i=1;i<n;i++){
    p=data[i];//保存无序区间的第一个值 
    //寻找插入点 
    for(j=i-1;j>=0&&data[j]>p;j--){ data[j+1]=data[j];}
    //插入 
    data[j+1]=p;
    } //for
    }
    //直接选择排序法 
    void choiceSort(int *data,int n)
    {
    int i,j,min;
    for(i=0;i<n;i++){
    for(j=i,min=i;j<n;j++){
    if(data[j]<data[min]){
    min=j;
    }//if 
    }//for 2 
    if(min-i){
    data[i]=data[i]^data[min];
    data[min]=data[i]^data[min];
    data[i]=data[i]^data[min];
    }//if 
    }//for
     
    }

     
  • 相关阅读:
    处理ios键盘弹出按钮点击click失效
    vue-eahars生产编译报错
    vue页面嵌套其他页面判断是否生产https
    阿里云linux安装nginx,亲测有效
    translate函数
    html表单from练习
    html 表格标签
    selenium模块简单使用
    python字符串普通操作
    浏览器的cookie的值改成字典格式
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457680.html
Copyright © 2011-2022 走看看