冒泡排序 - 数据结构与算法

硅谷探秘者 1032 0 0
算法思想:

每次从没有排序的集合a中拿取一个最大或最小的元素,放入有序的集合b中,直到a集合中的元素被取完

算法描述:

用变量i遍历整个数组,用变量j遍历i后面的数组,每次交换i比j大的元素,使得i遍历过的数组元素有序,直至整个数组被i遍历完

public class Test2{
	public static void main(String[] args) {
		int a[]= {2,123,1,3,9,5,6,4,7,8,5,4,7,8,41,6,5,4,1,2,5,4,8,5,4,1,2,5,4,1,5,4};
		for(int i=0;i<a.length;i++)
			for(int j=i+1;j<a.length;j++)
				if(a[i]>a[j]) {
					a[i]=a[i]+a[j];
					a[j]=a[i]-a[j];
					a[i]=a[i]-a[j];
				}
		for(int i=0;i<a.length;i++)
			System.out.print(a[i] + " ");
	}
}
时间空间复杂度

平均的时间复杂度为:O( n^2 )

平均的空间复杂度为:O(1)

猜你喜欢
数据结构与算法 1118 思想:把所有需要分成两个集合,一个是待集合,一个是已的集合,每次从未集合顺或随机拿取一个,把它加入到已集合使其有,直到未集合中的被取走完,
数据结构与算法 1209 ,若组只有一个元素则无需操作。每次递归束时,左右两个组都是有的,然后对这两个中的进行,使整个组有。直到束。publicclassTest8{ publicstaticint
数据结构与算法 1215 思想:希尔是插入的增强版,其主要的思想还是插入的思想。描述:在插入的基础上,对待组进行间隔为inc的分组,然后对每个分组进行直接插入,一次完成后,减小inc
数据结构与算法 1229 思想:对的一种改进,每次从没有的集合a中拿取一个最大或最小的元素,放入有的集合b中,直到a集合中的元素被取完描述:用变量i遍历整个组,用变量j遍历i后面的组,每次遍历i初始
数据结构与算法 4636 (英语:Heapsort)是指利用堆这种所设计的一种。堆是一个近似完全二叉树的,并同时满足堆积的性质:即子点的键值或索引总是小于(或者大于)它的父节点。以最小堆为例下沉操
数据结构与算法 1398</