#include <stdio.h>
void maopao()
{
/***************两种冒泡排序方法*************************************/
int arr[10] = {4,8,3,25,30,7,1,20,10,9};
int n = sizeof(arr)/sizeof(int);
int i, j;
int val;
/*
for(i = n-1; i>0; i--)
{
for(j = 0; j < i; j++)
{
if(arr[j] > arr[j+1])
{
val = arr[j+1];
arr[j+1] = arr[j];
arr[j] = val;
}
}
}
*/
for(i = 0; i < n-1; i++)
{
for(j = n-1; j > i; j--)
{
if(arr[j-1] > arr[j])
{
val = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = val;
}
}
}
/******************************************************************/
printf("maopao:");
for(i = 0; i < n; i++)
{
printf(" %d ", arr[i]);
}
printf("\n");
}
/*************************插入排序****************************/
void insert()
{
int arr[10] = {4,8,3,25,30,7,1,20,10,9};
int i, j;
int val;
int flag;
int n = sizeof(arr)/sizeof(int);
for(i = 1; i < n; i++)
{
flag = 0;
val = arr[i];
j = i-1;
do
{
if(arr[j] > val)
{
arr[j+1] = arr[j];
j--;
if(j < 0)
flag = 1;
}
else
flag = 1;
}while(!flag);
arr[j+1] = val;
}
printf("insert:");
for(i = 0; i < n; i++)
{
printf(" %d ", arr[i]);
}
printf("\n");
}
{
maopao();
void maopao()
{
/***************两种冒泡排序方法*************************************/
int arr[10] = {4,8,3,25,30,7,1,20,10,9};
int n = sizeof(arr)/sizeof(int);
int i, j;
int val;
/*
for(i = n-1; i>0; i--)
{
for(j = 0; j < i; j++)
{
if(arr[j] > arr[j+1])
{
val = arr[j+1];
arr[j+1] = arr[j];
arr[j] = val;
}
}
}
*/
for(i = 0; i < n-1; i++)
{
for(j = n-1; j > i; j--)
{
if(arr[j-1] > arr[j])
{
val = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = val;
}
}
}
/******************************************************************/
printf("maopao:");
for(i = 0; i < n; i++)
{
printf(" %d ", arr[i]);
}
printf("\n");
}
/*************************插入排序****************************/
void insert()
{
int arr[10] = {4,8,3,25,30,7,1,20,10,9};
int i, j;
int val;
int flag;
int n = sizeof(arr)/sizeof(int);
for(i = 1; i < n; i++)
{
flag = 0;
val = arr[i];
j = i-1;
do
{
if(arr[j] > val)
{
arr[j+1] = arr[j];
j--;
if(j < 0)
flag = 1;
}
else
flag = 1;
}while(!flag);
arr[j+1] = val;
}
printf("insert:");
for(i = 0; i < n; i++)
{
printf(" %d ", arr[i]);
}
printf("\n");
}
/**************************选择排序**********************************/
void select()
{
int arr[] = {4, 8, 3, 25, 30, 7, 1, 20, 10, 9};
int i, j, min;
int n = sizeof(arr)/sizeof(int);
int temp;
for(i = 0; i < n; i++)
{
min = i;
for(j = i+1; j < n; j++)
{
if(arr[min] > arr[j])
min = j;
}
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
printf("select:");
for(i = 0; i < n; i++)
{
printf(" %d ", arr[i]);
}
printf("\n");
}
{
maopao();
insert();
select();
}