C语言实现冒泡和直接插入排序

#include"stdlib.h"
#include"stdio.h"
#define max 1000
void print(int a[],int n){
     int i=0;
     printf("the last:/n");
     while(a[i]!=(-1)){           //print
       printf("%d/n",a[i]);    
       i++;
       }
    }

void bubble(int a[],int n){          //sort by bubble
    int i,j,temp;
    for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++){
            if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}
            } 
    print(a,n);
    }
   
void direct_insert(int a[],int n){  //sort by insert
    int i,j,temp;
    for(i=1;i<n;i++){
        temp=a[i];j=i-1;
        while(temp<a[j]&&j>=0){
            a[j+1]=a[j];
            j--;
            }
        a[j+1]=temp;
        }
    print(a,n);
    }

 main(){
   int a[max];
   int i,b;
   for(i=0;i<max;i++){           //init
       a[i]=-1;
       }
             
   i=0;   
  
   while(b!=-1){                //save numbers using an array ,set a number for a way out
       scanf("%d",&b);
       a[i]=b;
       i++;
       }
      
   i=0;
   printf("the form:/n");
   while(a[i]!=(-1)){           //print
       printf("%d/n",a[i]);    
       i++;
       }
   bubble(a,i);                //maopao sort
   direct_insert(a,i);         //direct insert sort
       
   int k ;
   scanf("%d",k);
  

    } 

你可能感兴趣的:(C语言实现冒泡和直接插入排序)