1.问题及代码
冒泡法:
#include<iostream>
using namespace std;
int main()
{
int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};
int i=0,j=12,t;
while(i<12)
{
while(j>i)
{
if(a[j]<a[j-1])
{
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
j--;
}
j=12;
i++;
}
i=0;
while(i<12)
{
cout<<a[i]<<' ';
i++;
}
return 0;
}
直接选择法:
#include<iostream>
using namespace std;
int main()
{
int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};
int i=0,j=0,k;
while(i<11)
{
k=i;
j=i+1;
while(j<12)
{
if(a[k]>a[j])
{
k=j;
}
j++;
}
if(i!=k)
{
int t;
t=a[i];
a[i]=a[k];
a[k]=t;
}
i++;
}
i=0;
while(i<12)
{
cout<<a[i]<<' ';
i++;
}
return 0;
}
插入法:
#include<iostream>
using namespace std;
int main()
{
int a[50]={57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7};
int i=1,j=0;
while(i<12)
{
j=i-1;
while(j>=0)
{
if(a[j]>a[j+1])
{
int t;
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
j--;
}
i++;
}
i=0;
while(i<12)
{
cout<<a[i]<<' ';
i++;
}
return 0;
}
2.运行结果
3.知识总结
排序。
4.运行结果