jcb
作者:
奋斗的小郭
,
2024-07-14 16:31:46
,
所有人可见
,
阅读 11
package jichuban;
public class d1 {
public static void selectsorted(int[]arr) {
if(arr==null||arr.length<2) {
return;
}
for(int i=0;i<arr.length;i++) {
int min=i;
for(int j=i+1;j<arr.length;j++) {
min=arr[min]<arr[j]?min:j;
}
swap(arr,i,min);
}
}
public static void bubblesorted(int[]arr) {
if(arr==null||arr.length<2) {
return;
}
for(int i=arr.length-1;i>=0;i--) {
for(int j=0;j<i;j++) {
if(arr[j]>arr[j+1]) {
swap(arr,j,j+1);
}
}
}
}
public static void insertsorted(int[]arr) {
if(arr==null||arr.length<2) {
return;
}
for(int i=1;i<arr.length;i++) {
for(int j=i;j>0;j--) {
if(arr[j]<arr[j-1]) {
swap(arr,j-1,j);
}
}
}
}
public static int erfenchazhao(int[]arr,int num) {
int l=0;
int r=arr.length-1;
int mid=-1;
while(l<=r) {
mid=l+(r-l)>>1;
if(arr[mid]>num) {
r=mid-1;
}else if(arr[mid]<num) {
l=mid+1;
}else {
return mid;
}
}
return mid;
}
public static int getleft(int[]arr,int num) {
int l=0;
int r=arr.length-1;
int left=-1;
while(l<=r) {
int mid=l+(r-l)>>1;
if(arr[mid]>=num) {
r=mid-1;
left=mid;
}else {
l=mid+1;
}
}
return left;
}
public static int getright(int[]arr,int num) {
int l=0;
int r=arr.length-1;
int right=-1;
while(l<=r) {
int mid=l+(r-l)>>1;
if(arr[mid]<=num) {
l=mid+1;
right=mid;
}else {
r=mid-1;
}
}
return right;
}
public static int getjumin(int[]arr) {
if(arr==null||arr.length<2)){
return -1;
}
if(arr[0]<arr[1]) {
return 0;
}
if(arr[arr.length-1]<arr[arr.length-2]) {
return arr.length-1;
}
int l=1;
int r=arr.length-2;
while(l<=r) {
int mid=l+(r-l)>>1;
if(arr[mid]<arr[mid-1]&&arr[mid]<arr[mid+1]) {
return mid;
}else if(arr[mid]>arr[mid-1]) {
r=mid-1;
}else {
l=mid+1;
}
}
return l;
}
public static int getji(int[]arr) {
int result=0;
for(int i=0;i<arr.length;i++) {
result^=arr[i];
}
return result;
}
public static int getone(int num) {
return num&(~num+1);
}
public static void getji2(int[]arr) {
int r1=0;
for(int i=0;i<arr.length;i++) {
r1=r1^arr[i];
}
int rightone=r1&(~r1+1);
int r2=0;
for(int i=0;i<arr.length;i++) {
if((arr[i]&rightone)==0) {
r2^=arr[i];
}
}
int r3=r1^r2;
System.out.println(r2+" "+r3);
}
public static int getyinum(int num) {
int count=0;
while(num!=0) {
int rone=num&(~num+1);
num^=rone;
count++;
}
return count;
}
public static void swap(int[]arr,int l,int r) {
if(l==r) {
return;
}
arr[l]=arr[l]^arr[r];
arr[r]=arr[l]^arr[r];
arr[l]=arr[l]^arr[r];
}
public static void swap2(int[]arr,int l,int r) {
if(l==r) {
return;
}
arr[l]=arr[l]+arr[r];
arr[r]=arr[l]-arr[r];
arr[l]=arr[l]-arr[r];
}
public static void swap3(int[]arr,int l,int r) {
if(l==r) {
return;
}
int temp=arr[l];
arr[r]=arr[l];
arr[l]=temp;
}
public static void printarr(int[]arr) {
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
}