数据结构与算法
Posted mimihuhudeliwu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法相关的知识,希望对你有一定的参考价值。
1.什么是算法
自己的理解就是解决问题的方法。
工作的本质就是解决问题--彼得德鲁克
2.循环
循环四要素:初始化变量、循环的条件、循环变量的变化迭代、循环的代码块
while:先判断循环条件,后执行循环体;
do while:先执行一次循环体,再判断循环条件;
两者区别:正常运行情况下,while会比do while多判断一次,输出结果一致;
异常运行情况下,while内循环体不执行,do while会运行一次循环体;
public class algorithm{ public static void main(String[] args){ int a = 1; while(a<5){ System.out.println(a); a++; } int b = 1; do{ System.out.println(b); b++; }while(b<5); } }
找出所有水仙花数:
public class algorithm{ //水仙花数:一个三位数 个十百的立方和等于这个数本身;选出所有水仙花数 public static void main(String[] args){ int a = 100; while(a<1000){ int b = a/100; int c = a/10%10; int d = a%10; if(a == b*b*b + c*c*c +d*d*d){ System.out.println(a); } a = a+1; } } }
public class algorithm{ //水仙花数:一个三位数 个十百的立方和等于这个数本身;选出所有水仙花数 public static void main(String[] args){ for(int a = 100; a<1000; a++){ int b = a/100; int c = a/10%10; int d = a%10; if(a == b*b*b+c*c*c+d*d*d){ System.out.println(a); } } } }
遍历数组,找出最大值/最小值
public class algorithm{ //遍历数组a[],找出最大值 public static void main(String[] args){ int a[] = {1,2,3}; int x = a[0]; for(int i=0; i<a.length; i++){ if(a[i]>x){ x = a[i]; } } System.out.println(x); } }
冒泡排序
public class algorithm{ //遍历数组a[],按照由大到小进行排序 public static void main(String[] args){ int a[] = {1,3,2,8,7}; 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 x=a[j]; a[j] =a[j+1]; a[j+1] =x; } } } for(int i=0;i<a.length;i++){ System.out.println(a[i]); } } }
以上是关于数据结构与算法的主要内容,如果未能解决你的问题,请参考以下文章