算法
-
数据元素的赋值(杨辉三角、回形数等)
-
求数值型数组中元素的最大值、最小值、平均数、总和等
int[] arr = new int[10];
int sum = 0;
int min = Integer.MIN_VALUE;
int max = 0;
for(int i = 0 ; i < arr.length;i++){
arr[i] = (int)(Math.random()*90)+10;
sum += arr[i];
if(arr[i] < min){
min = arr[i];
}
if(arr[i] > max){
max = arr[i];
}
}
for (int i : arr) {
System.out.print(i+"\t");
}
System.out.println();
System.out.println("总和为:"+sum+" 平均数为:"+sum/arr.length+" 最小值为:"+min+" 最大值为:"+max);
-
数组的复制、反转、查找(线性查找、二分查找)
array2 = array1;//array2和array1指向堆空间中同一个数组实体,相当于一个快捷方式
//数组复制
int[] array1,array2;
array1 = new int[]{1,2,3};
for(int i = 0 ; i <array1.length;i++){
array2[i] = array1[i];
}//数组反转
for(int i = 0 ; i < arr.length/2 ; i++){
int temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = temp;
}//线性查找
String[] str = new String[]{"VC","GG","TT","UU","OO"};
String s = "TT";
boolean flag = true;
for(int i = 0 ; i < str.length ; i++){
if(str[i].equals(s)){
System.out.println("找到了,位置为:"+i);
flag = false;
break;
}
}
if(flag){
System.out.println("没找到!");
}//二分查找(数组必须有序)
int arr[] = new int[] {-9,-2,4,8,99,122};
int dest =4;//目标
int head = 0;//头索引
int end = arr.length-1;//尾索引
boolean flag = true;
while(head <= end){
int middle = (head + end)/2;
if(dest == arr[middle]){
System.out.println("找到了,索引为:"+middle);
flag = false;
break;
}else if(dest > arr[middle]){//目标在右侧
head = middle+1;
}else {//dest < arr[middle],目标在左侧
end = middle - 1;
}
}
if(flag){
System.out.println("没找到!");
} -
数组元素的排序算法
选择排序:直接选择、堆排序
交换排序:冒泡排序、快速排序
//冒泡排序
int[] arr = new int[]{33,7,99,23,65,6,45,5};
for(int i = arr.length-1 ; i > 0 ; i--){//共比较arr.length-1趟
for(int j = 0 ; j < i ; j++){//每趟找到最大的放到最后,每次比较i次
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
插入排序:直接插入排序、折半插入排序、shell排序
归并排序
桶式排序
基数排序
性能比较:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构