算法就是解决问题的步骤。程序=算法+数据结构
算法五大特性:
1.可行性。算法运行结束可以得到想要的结果。
2.有穷性。运行时间是有限的。
3.确切性。算法的每一个步骤都要有确切的含义。
4.输入。算法运行前赋予的值。
5.输出。算法运行结束的结果,没有结果也就没有此算法的意义。
冒泡排序
冒泡排序是一种交换排序,就像水中的气泡,大的气泡总是在小的上面。
思想:从头依次进行两两比较,根据大小进行交换位置,将大的值放在前面,第一次遍历得出最后的值就是最大的,同理第二次 出遍历选出第二大的字放在倒数第二位。
程序:使用双重for循环进行比较排序。
public class TestDemo {
public static void main(String args[]){
//创建一个数组
int [] a={5,2,6,9,7,4,8,1};
//遍历的次数
for (int i=0;i<a.length-1;i++){
for (int j=0;j<a.length-1-i;j++){
//进行比较
if (a[j]>a[j+1]){
//交换位置
int temp =a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//输出数组
System.out.println(Arrays.toString(a));
//遍历输出结果
for(int k = 0; k < a.length; k++)
{
System.out.print(a[k] + " ");
}
}
}
运行结果:[1, 2, 4, 5, 6, 7, 8, 9]
1 2 4 5 6 7 8 9