选择排序和冒泡排序的C++和C

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C选择排序:

#include

#define N 10

main()

{int i,j,min,key,a[N];

//input data

printf("please input ten num:\n");

for(i=0;i

{ printf("a[%d]=",i);

scanf("%d\t",&a[i]);}

for(i=0;i

{

printf("%d\t",a[i]);

}

/*sort ten num*/

for(i=0;i

{

min=i;

for(j=1;j

{

if(a[min]>a[j]) {min=j;//记下最小元素的下标。

/*********交换元素*********/

key=a[i];

a[i]=a[min];

a[min]=key;}

else continue;

}

}

/*output data*/

printf("After sorted \n");

for(i=0;i

system("PAUSE");

return 0;

}

C冒泡排序:

#include"stdafx.h"

#include

#include

using namespace std;

#define n 4

int _tmain(int argc, _TCHAR* argv[])

{ int x[n],i=0;

printf("请输入%d个整数:\n",n);

for(i=0;i

{

scanf_s("%d ",&x[i]);

++i;

}

int j, k, h, t;

for (h=n-1; h>0; h=k) /*循环到没有比较范围*/

{ for (j=0,k=0;j

{ if (*(x+j)>*(x+j+1)) /*大的放在后面,小的放到前面*/

{ t = *(x+j);

*(x+j) = *(x+j+1);

*(x+j+1) = t; /*完成交换*/

k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/

}

}

}

printf("\n排序后的顺序为:\n");

for(i=0;i

printf("%d\t",x[i]);

system("PAUSE");

return 0;

}

C++选择排序:

#include

using namespace std;

int main()

{ int num[10] = {9,8,10,3,4,6,4,7,2,1};

int m;

cout<<"排序前:"<

for (m=0;m<10;m++)

{

cout<

}

for (int i=0;i < 10;i++)

{ int pos = i;

for (int j=i;j< 10;j++)

{ if (num[pos] > num[j])

{

pos =j;

}

}

int tem;

tem = num[pos];

num[pos] = num[i];

num[i] = tem;

}

cout<

for (int m = 0;m<10;m++)

{

cout<

}

system("PAUSE");

return 0;

}

/*选择排序法的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比这个最小位置处的元素更小的元素,则将那个更小的元素的下标赋给临时变量,最后,在二层循环退出后,如果临时变量改变,则说明,有比当前外层循环位置更小的元素,需要将这两个元素交换.*/

C++冒泡排序:

#include"stdafx.h"

#include

#include

using namespace std;

#define LEN 10

int _tmain(int argc, _TCHAR* argv[])

{ int nArray[LEN];

for(int i=0;i

cout<<"原始数据为:"<

for(int i=0;i

cout<

cout<

//开始冒泡

int temp;

for(int i=LEN-1;i>0;i--)

for(int j=0;j

{ if(nArray[j]>nArray[j+1])

{ temp=nArray[j];

nArray[j]=nArray[j+1];

nArray[j+1]=temp;

}

}

//结束冒泡

cout<<"排序结果:"<

for(int i=0;i

system("PAUSE");

return 0;

}

相关文档
最新文档