冒泡排序
思想:从左到右,元素交换。
第一个元素和第二个元素比较,若第一个元素大于第二个,则交换元素,再第二个元素与第三个元素比较,依次比较,直到比较完。则最尾部的元素是最大值。
void maopao(int a[5],int si)
{
for (int i = 0; i < si-1; i++)
{
for (int j = 0; j < si-1-i; j++)
{
if (a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
插入排序
思想:把数组分为有序和无序,后面的元素与有序的元素比较,假设第一个数据是有序,把第二个数据和排好的数据进行比较,如果第二个元素大于第一个元素,则不差,否则,第一给元素后移,将第二个元素插入到第一个元素的位置,依次进行。
void Insta(int a[5],int si)
{
int temp=0,flag=0;
for (int i = 1; i < si; i++)
{
temp=a[i];
for (int j = i-1; j>=0; j--)
{
if (temp<a[j])
{
a[j+1]=a[j];
flag=j;
}else
{
flag=j+1;
break;
}
}
a[flag]=temp;
}
}
选择排序
思想:从待排序数组中选择最小的放在第一个位置,除第一个位置中的排序数组中选择第二小的数,放在第二个位置,依次选择
void sect(int a[5],int si)
{
int flag,temp;
for (int i = 0; i < si; i++)
{
flag=i;
for (int j = i+1; j < si; j++)
{
if (a[flag]>a[j])
{
flag=j;
}
}
temp=a[i];
a[i]=a[flag];
a[flag]=temp;
}
}
标签:temp,int,插入排序,元素,flag,冒泡排序,++,si,排序
From: https://www.cnblogs.com/lzj-ZJ/p/18180783