插入排序:
就像摸牌,摸一张插进去,找一个哨兵,从第二个开始,和前一个比较,小的话前移一位。
#include <iostream>
#include<stdlib.h>
using namespace std;
#define N 4 //不能加分号结束
class sort
{
public:
void insertSort(int a[],int n);
sort()
{
cout<<"Start"<<endl;
}
sort(const sort&s);
private:
};
void sort::insertSort(int a[],int n)
{
int i=1,j=0,key;//设两个变量值的目的是内外变化,如果只有一个内外的变化会产生影响
while(i<n) //外循环
{
key=a[i];//把第几个拿出来,和前边的对比;
j=i-1; //前边的那个值
while(key<a[j]&&j>=0) //内循环
{
a[j+1]=a[j]; //把当前值改成前一个值
j--; //位置前移一位
}
a[j+1]=key; //比较成功之后,把哨兵插到当前位置,注意用的是j
i++; //转到下次循环
}
cout<<"-----------\n ";
for(int i=0;i<n;i++)
{
cout<<a[i];
}
}
sort::sort(const sort&s)
{
cout<<"news\n";
}
int main()
{
sort s;
//sort b=s;
int a[N];
cout<<"lease input arr.";
for(int i=0;i<N;i++)
{
cin>>a[i];
}
cout<<"shuchu wei";
for(int i=0;i<N;i++)
{
cout<<a[i]<<endl;
}
s.insertSort(a,N);
return 0;
};
</pre><p><span style="font-family:SimHei; font-size:24px">冒泡排序:</span></p><p><span style="font-family:SimHei"></span></p><pre name="code" class="html"><span style="font-size:14px;">#include <iostream>
#include<stdlib.h>
using namespace std;
#define N 4 //不能加分号结束
class sort
{
public:
void insertSort(int a[],int n);
sort()
{
cout<<"Start"<<endl;
}
sort(const sort&s);
void bubblesort(int a[],int n);
private:
int c;
};
void sort::insertSort(int a[],int n)
{
int i=1,j=0,key;//设两个变量值的目的是内外变化,如果只有一个内外的变化会产生影响
while(i<n) //外循环
{
key=a[i];//把第几个拿出来,和前边的对比;
j=i-1; //前边的那个值
while(key<a[j]&&j>=0) //内循环
{
a[j+1]=a[j]; //把当前值改成前一个值
j--; //位置前移一位
}
a[j+1]=key; //比较成功之后,把哨兵插到当前位置,注意用的是j
i++; //转到下次循环
}
cout<<"-----insertsort------\n ";
for(int i=0;i<n;i++)
{
cout<<a[i];
}
cout<<endl;
}
void sort::bubblesort(int a[],int n)
{
int i=0,j=n;
for(;i<n-1;i++)//外层循环
{
for(;j>i;j--)//内层循环,从最后一个开始向上冒泡,冒泡次数逐渐减一
{
if(a[j]<a[j-1])//倒数开始,两个数进行比较,下边是交换过程
{
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
cout<<"-----bubblesort------\n ";
for(int i=0;i<n;i++)
{
cout<<a[i];
}
cout<<endl;
}
sort::sort(const sort&s)
{
cout<<"news\n";
}
int main()
{
sort s;
//sort b=s;
int a[N];
cout<<"lease input arr.";
for(int i=0;i<N;i++)
{
cin>>a[i];
}
cout<<"shuchu wei";
for(int i=0;i<N;i++)
{
cout<<a[i];
}
cout<<endl;
s.insertSort(a,N);
s.bubblesort(a,N);
return 0;
};</span><span style="font-size:24px;">
</span>