导航:首页 > 源码编译 > java经典算法100

java经典算法100

发布时间:2023-08-29 02:38:03

java 100个数字用算法排序

classSortTest{//冒泡排序
publicvoidsort(int[]args){

for(intm:args){
System.out.print("排序前"+args[m]+"");
}

inttime1=0,time2=0;
for(inti=0;i<args.length-1;i++){
++time1;
for(intj=i+1;j<args.length;j++){
++time2;
inttemp;
if(args[i]>args[j]){
temp=args[j];
args[j]=args[i];
args[i]=temp;
}
}
}
System.out.println();
System.out.println("外循环次数:"+time1+"内循环次数:"+time2);
for(intn:args){
System.out.print("排序后"+n+"");
}
}

publicstaticvoidmain(String[]args){
int[]arg=newint[]{2,1,4,5,8,7,6,3,9,0};
newSortTest().sort(arg);
}
}
//降序排列循环次数最少
//输出结果为:
//排序前4排序前1排序前8排序前7排序前9排序前3排序前6排序前5排序前0排序前2
//外循环次数:9内循环次数:45
//排序后0排序后1排序后2排序后3排序后4排序后5排序后6排序后7排序后8排序后9
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;
importjava.util.Random;

/**
*classname:RapidSort
*description:Java快速排序法:数组和集合
*@authorJr
*
*/
publicclassRapidSort{

publicstaticvoidQuickSort(inte[],intfirst,intend){
inti=first,j=end,temp=e[first];
while(i<j){
while(i<j&&e[j]>=temp)
j--;
e[i]=e[j];
while(i<j&&e[i]<=temp)
i++;
e[j]=e[i];
}
e[i]=temp;
if(first<i-1)
QuickSort(e,first,i-1);
if(end>i+1)
QuickSort(e,i+1,end);
}

publicstaticvoidmain(String[]args){
intarr[]={49,38,65,97,76,13,27,49};
intlen=8;
inti;
System.out.printf("beforesort ");
for(i=0;i<len;i++)
System.out.printf("%d",arr[i]);
System.out.printf(" ");

QuickSort(arr,0,len-1);

System.out.printf("aftersorted ");
for(i=0;i<len;i++)
System.out.printf("%d",arr[i]);
}

}

结果:
beforesort
4938659776132749
aftersorted
1327384949657697

② 用java编写使用do-while循环语句实现计算1~100之和的程序段

package javaTest1;

public class Test2 {
public static void main(String[] args) {
//用java编写使用do-while循环语句实现计算1~100之和的程序段
int sum=1;
int num=0;
do {
num+=sum;
sum++;
}while(sum<=100);
System.out.println(num);
}
}

③ java中怎么实现阶乘,如计算1~100的阶乘

使用BigInteger大容量运算类计算100的阶乘
一.一般算法(循环)
view plain to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
输出结果为0,因为int无法保存下100的阶乘的结果,100的阶乘的长度至少大于50位,也要大于long,double
二.使用BigInteger大容量运算类
view plain to clipboardprint?
import java.math.BigInteger;

public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//为result赋初始值,为1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//调用自乘方法
}
System.out.println(result);//输出结果
System.out.println(String.valueOf(result).length());//输出长度
}
}
计算结果为:000000000000000000
产度:158

阅读全文

与java经典算法100相关的资料

热点内容
吃鸡国际体验服为什么服务器繁忙 浏览:92
php中sleep 浏览:488
vr怎么看视频算法 浏览:84
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:330
冰箱压缩机是否需要电容 浏览:344
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758
pdf怎么单独设置文件夹 浏览:474
业务逻辑程序员 浏览:659
addto新建文件夹什么意思 浏览:161
有服务器地址怎么安装软件 浏览:660
安卓如何完全清除数据 浏览:692
安卓安卓证书怎么信任 浏览:54
服务器被攻击如何解决 浏览:222
学霸变成程序员 浏览:883
c语言编译错误fatalerror 浏览:443
ipv4内部服务器地址怎么分配 浏览:464