打印等腰三角形代码

public class ForForTest{
public static void main(String []args){
for(int x=0;x<5;x++){
for(int y=x+1;y<5;y++){
System.out.print(" ");
}
for(int z=0;z<x;z++){
System.out.print("* ");
}
System.out.println();
}
}
} 折半查找代码: //练习:给一个数值。要求插入给定数组中,而且保证插入后数组按一定的顺序排列
public class ArrayTest2{ //数组查找数值
public static void main(String []args){
int arr[] = {1,2,3,4,5,6,7,88,9,10};
int index = getIndex(arr,8);
System.out.println("keyword存在在数组中的第"+(index+1)+"位");
}
public static int halfSeach_2(int arr[],int key){ //另外一种 折半方法。 依照索引值进行比較
int max,min,mid;
min = 0;
max = arr.length - 1;
while(min<=max){ //条件为真的时候进行比較
mid = (max+min)/2 ; //位运算 相当于除2
if(key>arr[mid])
min = mid +1 ;
else if(key < arr[mid])
max = mid -1;
else
return mid;
}
return -1;
}
//得到 该数值插入到数组中的第几位
//思路:利用折半查找,假设找到数组中有相应的数,便将该数插入到该位置,若没有找到那么返回折半索引的最小位。
public static int getIndex(int arr[],int key){
int max,min,mid;
min = 0;
max = arr.length - 1;
mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时。进行折半查找。
if(key>arr[mid])
min = mid +1 ;
else
max = mid -1;
if(min > max)
return min;
mid = (max + min)/2;
}
return mid;
}
/*
折半查找: 前提是 数组是个有序的数列
1、首先定义数组最大索引和最小索引
2、算出中间索引值
3、将相应的中间索引值与关健值比較-----> if(key>arr[mid]) min = mid+1;else if(key<arr[mid]) max = mid-1;
*/
public static int halfSeach(int arr[] , int key){
int max,min,mid;
min = 0;
max = arr.length - 1;
mid = (max + min) / 2; while(key != arr[mid]){ //当 关健值 不等于 中间值时,进行折半查找。
if(key>arr[mid])
min = mid +1 ;
else
max = mid -1;
if(min > max)
return -1;
mid = (max + min)/2; //循环中一直进行折半。 }
return mid;
}
} 排序算法的代码,包含冒泡、选择、折半排序 import java.util.*;
public class ArrayTest{
public static void main(String []args){
int []arr = {23,3,1,53,43,13,10};
//排序前
printArray(arr);
//排序
//selectSort(arr);
bobleSort(arr); //Arrays.sort(arr); //java中已经封装好的排序算法
//排序后
printArray(arr);
}
//选择排序
public static void selectSort(int []arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//冒泡排序:每次比較相邻的元素,满足条件的换位。每一层循环之后,最大值回到元素的顶端。因此比較时内层循环数组值降低一位。
public static void bobleSort(int arr[]){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){ //减1 的原因是。防止数组越界。
if(arr[y]>arr[y+1]){
swap(arr,y,y+1);
}
}
}
}
//交换元素
public static void swap(int arr[],int a ,int b ){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
//打印数组
public static void printArray(int arr[]){
System.out.print("[");
for(int i=0;i<arr.length;i++){
if(i != arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.print(arr[i]);
}
}
System.out.print("]");
System.out.println();
}
}

最新文章

  1. 在离线环境中发布.NET Core至Windows Server 2008
  2. 探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密
  3. SQL Server 索引和表体系结构(包含列索引)
  4. jquery:validate的例子
  5. maven说
  6. TYVJ1939 玉蟾宫
  7. Hibernate(四)基本映射
  8. 在web page中使鼠标右击失效的几种方法
  9. [置顶] ubuntu 和 win7 远程登陆 + vnc登陆
  10. CI脚本异常退出问题定位
  11. phpstudy 上怎么运行 thinkPHP ?
  12. 「CodeForces 581D」Three Logos
  13. #10072. 「一本通 3.2 例 1」Sightseeing Trip(floyd求最小环+路径)
  14. LOJ #2541. 「PKUWC 2018」猎人杀(容斥 , 期望dp , NTT优化)
  15. 玩nginx部署不同的web app
  16. java实现 HTTP/HTTPS请求绕过证书检测代码实现
  17. QGis C++ 开发之创建临时图层并添加要素
  18. CentOS 安装Sqlite3
  19. LR 报错误: C interpreter run time error: Error -- Unresolved symbol : vuser_end解决方法
  20. [css]解决iframe在ios设备上无法滚动

热门文章

  1. IDEA无法编译源码,IDEA查看源码出现/* compiled code */
  2. Warning: date(): It is not safe to rely on the system&#39;s timezone settings. You are *required* to use ...报错
  3. 【简●解】[ZJOI2005]午餐
  4. bzoj 1051 受欢迎的牛-tarjan
  5. Oracle 10g R2 Transparent Data Encryption 透明数据加密
  6. Chrome浏览器 v68.0.3440.106 正式版怎么样?
  7. tornado框架基础07-sqlalchemy查询
  8. OpenSSH高级功能之端口转发(Port Forwarding)
  9. xtu字符串 D. 病毒侵袭
  10. 67. @Transactional的类注入失败【从零开始学Spring Boot】