【手机选股源码】【iapp易对接源码】【黑客简介网页源码】java算法源码_java算法代码

时间:2024-12-27 13:44:21 来源:通达信九霄龙吟源码 分类:焦点

1.怎么用java代码实现开平方算法?
2.java冒泡排序法代码

java算法源码_java算法代码

怎么用java代码实现开平方算法?

       这是算法算法我应聘时写的算法代码,运行成功:

       //这是源码用java编写的一个求2的平方根的程序,精确度可通过修改weishu参数来改变

       public class app

       { //用二分法求2的平方根

        public static void main(String args[])

        {

        int a[],b[],s[],d[],c[],ss[];

        int i,j,k;

        a=new int[];

        b=new int[];

        s=new int[];

        d=new int[];

        c=new int[];

        ss=new int[];

        boolean jingque;

        jingque=true;

        a[0]=b[0]=2;

        a[2]=b[2]=1;

        a[1]=4;

        b[1]=5;

        int weishu=;//定义循环次数

        for(i=0;i<;i++)

        s[i]=0;

        for(k=0;k<weishu;k++)

        {

        hanshucheng.cheng(b,b,s);

        j=s[0];

        while (s[j]>=2)

        {

        hanshuadd.add(a,b,c);

        hanshuchu.chu(d,c);

        hanshucopy.copy(ss,b);

        hanshucopy.copy(b,d);

        hanshucheng.cheng(b,b,s);

        j=s[0];

        // for(i=0;i<=s[0];i++)

        //System.out.println("s["+i+"]="+s[i]);

        }

        hanshucopy.copy(a,b);

        hanshucopy.copy(b,ss);

        }

        for(i=a[0];i>=1;i--)

        System.out.print(a[i]);

        System.out.print("左边计算到"+a[0]+"位\n");

        for(i=b[0];i>=1;i--)

        System.out.print(b[i]);

        System.out.print("右边计算到"+b[0]+"位\n");

        for(i=a[0],j=b[0];jingque==true;i--,j--)

        if(a[i]==b[j])

        System.out.print(a[i]);

        else

        jingque=false;

        System.out.print("精确到"+(a[0]-i-1)+"位\n");

        }

       }

       class hanshucheng

        {

        public static void cheng( int a[],int b[],int s[])//定义两数相乘的函数

        {

        int flag=0,flag1=0;

        int number=b[0];

        int c[]=new int[];

        int i,j,k,u;

        for(int i1=0;i1<;i1++)

        s[i1]=0;

        for(i=1;i<=number;i++)

        {

        for(int i1=0;i1<;i1++)

        c[i1]=0;

        for(j=i,k=1;j<number+i;j++,k++)

        {

        c[j]=(a[k]*b[i]+flag)%;

        flag=(a[k]*b[i]+flag)/;

        }

        if (flag!=0)

        {

        c[j]=flag;

        flag=0;

        j=j+1;

        }

        c[0]=j-1;

        //for(k=1;k<=c[0];k++)

        //System.out.println("c="+c[k]);

        for(k=1;k<=c[0];k++)

        { u=s[k];

        s[k]=(u+c[k]+flag1)%;

        flag1=(u+c[k]+flag1)/;

        }

        if(flag1!=0)

        {

        s[k]=flag1;

        k=k+1;

        flag1=0;

        }

        s[0]=k-1;

        // for(k=0;k<=s[0];k++)

        //System.out.println(s[k]);

        }

        }

        }

       class hanshuadd

       {

        public static void add(int a[],int b[],int c[])//定义两数相加的函数

        {

        int flag=0;int i,j,k;

        int a1[]=new int[];

        for(i=1;i<=b[0];i++)

        a1[i]=0;

        for(j=b[0]-a[0]+1,k=1;j<=b[0];j++,k++)

        a1[j]=a[k];

        //for(k=0;k<=j;k++)

        //System.out.println("a1="+a1[k]);

        for(i=1;i<=b[0];i++)

        {

        c[i]=(a1[i]+b[i]+flag)%;

        flag=(a1[i]+b[i]+flag)/;

        }

        if(flag!=0)

        {

        c[i]=flag;

        i=i+1;

        flag=0;

        }

        c[0]=i-1;

        }

        }

       class hanshuchu

       {

       public static void chu(int d[],int a[])//定义任一数除以2的函数

        {

        int flag=0,i;

        for(i=a[0];i>=1;i--)

        {

        d[i+1]=(flag*+a[i])/2;

        flag=(flag*+a[i])%2;

        }

        if(flag!=0)

        d[1]=5;

        if(d[1]==0)

        for(i=1;i<=a[0]+1;i++)

        d[i]=d[i+1];

        d[i]=0;

        d[0]=a[0]+1;

        }

       }

       class hanshucopy

       {

       public static void copy(int a[],int b[])//定义

        {

        int i;

        for(i=0;i<=b[0];i++)

        a[i]=b[i];

        while (i<)

        a[i++]=0;

        }

       }

       /gamer/blog/item/ddba4d9dadf4d.html

java冒泡排序法代码

       冒泡排序是比较经典的排序算法。代码如下:

       for(int i=1;i<arr.length;i++){

       for(int j=1;j<arr.length-i;j++){

       //交换位置

       }    

       原理:比较两个相邻的代码元素,将值大的算法算法手机选股源码元素交换至右端。

       思路:依次比较相邻的源码两个数,将小数放在前面,代码iapp易对接源码大数放在后面。算法算法即在第一趟:首先比较第1个和第2个数,源码将小数放前,代码大数放后。算法算法然后比较第2个数和第3个数,源码将小数放前,代码大数放后,算法算法黑客简介网页源码如此继续,源码直至比较最后两个数,代码将小数放前,微交易源码jave大数放后。重复第一趟步骤,直至全部排序完成。非小号app源码

       第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

       第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

       依次类推,每一趟比较次数-1;

       ……

       举例说明:要排序数组:int[] arr={ 6,3,8,2,9,1};   

       for(int i=1;i<arr.length;i++){

       for(int j=1;j<arr.length-i;j++){

       //交换位置

       }    

参考资料:

冒泡排序原理