冒泡、选择、插入简单排序
2017-10-28 20:12
337 查看
1、冒泡
#include<iostream>
using namespace std;
int a[10000];
void maopao(int a[],int n)
{
for(int i=1;i<n;i++)//不断的拿第一个元素与之相邻的元素比较,前面的大,就交换值
for(int j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
maopao(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
2选择
#include<iostream>
using namespace std;
int a[10000];
void paixu(int a[],int n)
{
for(int i=0;i<n-1;i++)//假设第i个元素为最小值,在之后的循环中若有比他小的,则交换值
{
int index=i;
for(int j=i+1;j<n;j++)
if(a[j]<a[index])
index=j;
int temp=a[i];
a[i]=a[index];
a[index]=temp;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
paixu(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
3、插入
#include<iostream>
using namespace std;
int a[10000];
void insertpaixu(int a[],int n)
{
for(int i=1;i<n;i++)//从第二个元素开始,若比第一个元素小,就插在第一个元素前,把第一个元素的位置往后依次移动一个下标
{
for(int j=0;j<i;j++)
{
if(a[j]>a[i])
{
int temp=a[i];
for(int k=i;k>j;k--)
a[k]=a[k-1];
a[j]=temp;
break;
}
}
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
insertpaixu(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
#include<iostream>
using namespace std;
int a[10000];
void maopao(int a[],int n)
{
for(int i=1;i<n;i++)//不断的拿第一个元素与之相邻的元素比较,前面的大,就交换值
for(int j=0;j<n-i;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
maopao(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
2选择
#include<iostream>
using namespace std;
int a[10000];
void paixu(int a[],int n)
{
for(int i=0;i<n-1;i++)//假设第i个元素为最小值,在之后的循环中若有比他小的,则交换值
{
int index=i;
for(int j=i+1;j<n;j++)
if(a[j]<a[index])
index=j;
int temp=a[i];
a[i]=a[index];
a[index]=temp;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
paixu(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
3、插入
#include<iostream>
using namespace std;
int a[10000];
void insertpaixu(int a[],int n)
{
for(int i=1;i<n;i++)//从第二个元素开始,若比第一个元素小,就插在第一个元素前,把第一个元素的位置往后依次移动一个下标
{
for(int j=0;j<i;j++)
{
if(a[j]>a[i])
{
int temp=a[i];
for(int k=i;k>j;k--)
a[k]=a[k-1];
a[j]=temp;
break;
}
}
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
insertpaixu(a,n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
相关文章推荐
- 冒泡,简单选择,直接插入排序(Java版)
- 排序(1)--冒泡,简单选择,快速,简单插入
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- java冒泡、简单插入、选择排序
- 四种简单的排序算法(插入、冒泡、选择排序、快速排序法)+汉诺塔算法
- 数据结构 三种简单的排序(插入、选择、冒泡)
- 简单排序算法:冒泡、选择、插入
- 简单排序:冒泡、选择、插入
- 数据结构与算法之--简单排序:冒泡、选择和插入
- 简单排序——冒泡,选择,插入
- 常用的排序算法:冒泡,简单选择,直接插入,快速排序,堆排序
- 简单选择,冒泡,插入,快速排序之效率比较
- 简单排序——冒泡,选择,插入
- (第3讲)简单排序:冒泡。选择。插入
- 冒泡,插入,折半插入,希尔,快速,简单选择排序的源代码总结
- 冒泡 ,插入,折半插入,希尔,快速,简单选择等排序源码
- 数据结构与算法(二)冒泡&&插入&&选择 简单排序
- 冒泡,插入,折半插入,希尔,快速,简单选择排序的源代码总结
- 冒泡,插入,折半插入,希尔,快速,简单选择排序源码总结