数据结构之冒泡排序
2016-06-10 14:57
260 查看
1.冒泡排序在日常中用到的场景比较多在这里记录下。
2.一组数据如{4,7,3,2}
冒泡算法的核心思想:
有多少元素就循环多少次:
第一趟:7>4?是就进行下一次循环,不是的话交换位置。第二次判断7>3?是那么就变成4,3,7,2 ,在进行一次判断7>2?
是就把7,2调换位置,也是就是4,3,2,7
第二趟在这样进行一遍,总共进行4遍。也就是数据的长度。
核心算法:
/*
* 冒泡算法研究
*/
public class Test4 {
static int []s={7,8,9,5,4,3,8,10,0};
public static void main(String args[])
{
for(int i=0;i<s.length;i++)
{
for(int j=1;j<s.length;j++)
{
if(s[j-1]<=s[j])
continue;
else{
int t=s[j-1];
s[j-1]=s[j];
s[j]=t;
}
}
}
for(int n=0;n<s.length;n++)
{
System.out.println(s
);
}
}
}
时间复杂度:O(n^2)
2.一组数据如{4,7,3,2}
冒泡算法的核心思想:
有多少元素就循环多少次:
第一趟:7>4?是就进行下一次循环,不是的话交换位置。第二次判断7>3?是那么就变成4,3,7,2 ,在进行一次判断7>2?
是就把7,2调换位置,也是就是4,3,2,7
第二趟在这样进行一遍,总共进行4遍。也就是数据的长度。
核心算法:
/*
* 冒泡算法研究
*/
public class Test4 {
static int []s={7,8,9,5,4,3,8,10,0};
public static void main(String args[])
{
for(int i=0;i<s.length;i++)
{
for(int j=1;j<s.length;j++)
{
if(s[j-1]<=s[j])
continue;
else{
int t=s[j-1];
s[j-1]=s[j];
s[j]=t;
}
}
}
for(int n=0;n<s.length;n++)
{
System.out.println(s
);
}
}
}
时间复杂度:O(n^2)
相关文章推荐
- 冒泡排序
- C#数据结构之顺序表(SeqList)实例详解
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#冒泡法排序算法实例分析
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 数据结构之Treap详解
- C++实现对输入数字组进行排序
- 用PHP写的一个冒泡排序法的函数简单实例
- 用C语言举例讲解数据结构中的算法复杂度结与顺序表
- C#数据结构之堆栈(Stack)实例详解
- C#数据结构之双向链表(DbLinkList)实例详解
- JavaScript数据结构和算法之图和图算法
- js实现数组冒泡排序、快速排序原理
- 分享javascript实现的冒泡排序代码并优化
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- c++冒泡排序示例分享
- 【数据结构与算法】数组应用4:多项式计算Java版