标签:
前记:干他娘的,这么简单的排序居然还要想好久,关键是之前都是理解了的(大概几年前吧。。。),可能是没有看到图,所以我一直觉得有图片的话理解会容易的多。。。
思路:for循环共两层,内存循环将一个最大的数(按照从小到大顺序)移动到当前数组的末尾,内层循环负责记录按照内层循环的移动方式,排序好一个数组要多少次。
上图:
上代码:
// 冒泡排序.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[5]={12,1,32,122,3}; int len=5; int i,j,temp; for (i=0;i<len-1;i++) { for (j=0;j<len-i-1;j++) //for循环 比较的目的就是把最大的元素移动到最后 { if (a[j+1]<a[j]) { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } for (i=0;i<len;i++) { cout<<a[i]<<" "; cout<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/audi-car/p/4573946.html