java中经典算法代码整理

简介: java中经典算法代码整理

一、选择排序法

复制代码
public static void selectSort(int[] a){
int minIndex = 0;
int temp = 0;
if(a == null)||(a.length == 0){
return;
}
for(i = 0; i < a.length-1; i++){
minIndex = i;
for(j = i+1; j < a.length; j++){
if(a[j] < a[minIndex]){
minIndex = j;
}
}
if(minIndex != i){ //如果a[i]不是最小值,则将最小值放在a[i]位置
temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
//代码效果参考:http://0791zd.com/bx/art_493.html

二、冒泡排序法
public static void BubbleSort(int[] a){
for(i = 0; i < a.length; i++){
for(j = 1; j < a.length-i; j++){
if(a[i] < a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
三、快速排序法
public class QuickSort{
public void quickSort(int[] arr, low, high){
if(low < high){
int privotpos = partition(arr, low, high);
quickSort(arr,low,privotpos-1);
quickSort(arr,privotpos+1, high);
public int partition(int[] arr, low, high){
int privot = arr[low];
while(low < high){
while(low < high %& arr[low] <= privot) ++low;
pritition = arr[low];
while(low < high %& arr[high] >= privot) --high;
privot = arr[high];
a[low] = privot;
//代码效果参考:http://0791zd.com/zx/art_1060.html

四、二分查找法
public int binarySearch(int arr[], int key){
int low = 0, high = arr.length, mid;
while(low <= high){
mid = (low + high) / 2;
if(key == arr[mid]){
return mid;
}else if(key < arr[mid]){
high = mid - 1;
}else{
low = mid + 1;
return -1;

相关文章
|
17小时前
|
存储 安全 Java
JAVA泛型大揭秘:如何在编译时守护你的代码安全?
【6月更文挑战第28天】Java泛型是JDK 5引入的特性,用于提升代码复用和类型安全性。通过类型参数如`&lt;T&gt;`,泛型在编译时确保数据类型的正确性。例如,泛型类`GenericList&lt;T&gt;`允许创建特定类型的列表,如`GenericList&lt;String&gt;`,阻止了不兼容类型元素的添加,防止运行时ClassCastException。泛型方法如`swap()`也确保了操作的类型安全,增强了代码的可读性和维护性。
|
1天前
|
存储 算法 安全
Java中的DES和3DES加密算法详解
Java中的DES和3DES加密算法详解
|
1天前
|
Java BI C#
技术笔记:SM4加密算法实现Java和C#相互加密解密
技术笔记:SM4加密算法实现Java和C#相互加密解密
|
1天前
|
机器学习/深度学习 并行计算 搜索推荐
程序技术好文:桶排序算法及其Java实现
程序技术好文:桶排序算法及其Java实现
|
1天前
|
人工智能 算法 Java
Java进阶代码的具体写法
Java进阶代码的具体写法
|
1天前
|
Java
Java中代码块区别及代码示例
Java中代码块区别及代码示例
|
1天前
|
Java API
Java代码如何将时间戳转换为时间
【6月更文挑战第27天】Java代码如何将时间戳转换为时间
4 0
|
1天前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
1天前
|
存储 安全 Java
Java文件操作,让你的代码更“有型”!读写、复制、删除全解析!
【6月更文挑战第27天】在Java中进行文件操作是程序基础功能之一,涉及读写、复制和删除。使用`FileReader/FileWriter`进行文本文件的读写,如示例所示,通过`try-with-resources`保证资源释放。文件复制利用`FileInputStream/FileOutputStream`,而删除文件则依赖`File`的`delete()`方法,确保条件安全执行。这些标准库类提供了高效且健壮的文件管理能力。
|
1天前
|
安全 Java 开发者
掌握Java文件操作,让你的代码“飞”起来!读写、复制、删除全攻略!
【6月更文挑战第27天】Java文件操作涵盖读写、复制、删除。使用NIO的`Files`类提升效率:读取文件用`newBufferedReader`实现逐行读,写入文件用`newBufferedWriter`,复制文件用`copy`方法,删除文件用`deleteIfExists`,确保安全。这些最佳实践优化了内存使用,简化了代码。