基础方法:数组排序、打印
//将一根int数组里的奇数从小到大排序,偶数在原来的位置不动
//判断一个字符串数组里的字符串是不是笑脸表情(笑脸表情包括眼睛【】:;】鼻子【】-~】嘴【)D】)眼睛和嘴是必须的,鼻子可有可无
//将一根int数组里的奇数从小到大排序,偶数在原来的位置不动
public static int[] sortArray(int[] array) {
int[] oddnumber = new int[array.length];
int[] num = new int[array.length];
int a=0;
for(int i=0;i<array.length;i++){
if(array[i]%2 == 0){
}else{
oddnumber[a] = array[i];
num[a]=i;
a+=1;
}
}
SelectionSort(num,num.length);
SelectionSort(oddnumber,oddnumber.length);
for(int i=num.length-1;i>0;i--){
if(num[i]!=0||num[i+1]!=0&&oddnumber[i]!=0){
int b = num[i];
array[b] = oddnumber[i];}
}
return array;
}
//计算一个字符串数组中笑脸的数量
public static int countSmileys(List<String> arr) {
// Just Smile :)
int res=0;
for (int i = 0; i < arr.size(); i++){
System.out.print(arr.get(i) +",");
char[] str = arr.get(i).toCharArray();
char st = str[0];
if(st==':' || st==';'){
if(str[1]=='-'||str[1]=='~'){
if(str[2]==')'||str[2]=='D'){
if(str.length==3){
res++;
}else{}
}else{}
}else if(str[1]==')'||str[1]=='D'){
if(str.length==2){
res++;
}else{}
}else{}
}
System.out.print(st +" ");
}
System.out.print(res +" ");
return 0;
}
按顺序打印数组
public static void printarray(int[] array){//
for (int i = 0; i < array.length; i++)
{
System.out.print(array[i]+",");
}
System.out.println("");
}
交换数组元素
static void Swap(int A[], int i, int j)//
{
int temp = A[i];
A[i] = A[j];
A[j] = temp;
}
从小到大排序数组
static void SelectionSort(int A[], int n){//
for (int i = 0; i < n - 1; i++){
int min = i;
for (int j = i + 1; j < n; j++){
if (A[j] < A[min]) {
min = j;
}
}
if (min != i){
Swap(A, min, i);
}
}
}
网友评论