//利用Arrays带有的排序方法快速排序
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a); //进行升序排序
for(int i: a){
System.out.print(i);
}
}
//选择排序算法
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
int[] b= selectSort(a);
for (int i : b) {
System.out.println(i);
}
}
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
//插入排序算法
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
int[] b= insertSort(a);
for (int i : b) {
System.out.println(i);
}
}
public static int[] insertSort(int[] args){
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
//1 1 2 3 5 8 .....迭代
public static void main(String[] args) {
System.out.println(num(6));
}
public static int num(int n){
if(n<=2)return 1;
return num(n-2)+num(n-1);
}
// 产生随机数组 数组元素颠倒顺序
public static void main(String[] args) {
int [] a = new int[]{(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10),(int) (Math.random()*10)};
for (int i : a) {
System.out.println(i);
}
int l=a.length;
for (int i = 0; i < l/2; i++) {
int temp=a[i];
a[i]=a[l-1-i];
a[l-1-i]=temp;
}
for (int i : a) {
System.out.println(i);
}
}
//去除重复元素,利用set集合特点
public static void main(String[] args) {
int[] a={1,1,33,33,33,5,9,0,0};
List<Integer> lista=new ArrayList<Integer>();
for (int i : a) {
lista.add(i);
}
Set<Integer> seta=new HashSet<Integer>();
seta.addAll(lista);
System.out.println(seta);
}
//去除字符串右边的空格
public static void main(String[] args) {
String str=" zxcvb1s s ";
System.out.println(str.trim());
System.out.println(str.lastIndexOf(str.trim()));//返回指定子字符串在此字符串中最右边出现处的索引。
String sss=str.substring(0,str.lastIndexOf(str.trim())+str.trim().length());
System.out.println("--"+sss+"--");
}
//去除所有空格
public static String del_space(String str){
char[] str_old=str.toCharArray();
StringBuffer str_new= new StringBuffer();
int i=0;
for (char c : str_old) {
if (c !=' ') {
str_new.append(c);
i++;
}
}
System.out.println(i);
return str_new.toString();
}
}
分享到:
相关推荐
### 算法优化的几种常用方法 1. **循环展开**:通过减少循环迭代次数来减少循环开销。 2. **空间换时间**:预先计算结果并存储起来,以避免重复计算。 3. **缓存优化**:通过调整数据访问模式,提高缓存命中率。 4....
排序算法如冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们用于对数据进行有序排列。搜索算法如线性搜索、二分查找等,用于在数据集中寻找特定元素。图论算法包括最短路径算法(如Dijkstra算法)和最小...
排序是数据处理的关键部分,常见的排序算法有以下几种: 1. **冒泡排序**:相邻元素两两比较,交换位置,多次迭代直到排序完成。 2. **插入排序**:将未排序的元素逐个插入到已排序的序列中,可以实现稳定的排序。 ...
以下是13种常用的填充算法的详细解释: 1. **边界填充**:这是最基础的填充方式,常用于数组或矩阵,通过对边缘区域设定固定值来扩展其大小。 2. **零填充**:也称为零边界填充,常在傅立叶变换中使用,当处理的...
本文将深入探讨C++实现的几种常见排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序以及堆排序。 1. **冒泡排序**: 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果...
本文将深入探讨几种常见的排序算法,包括它们的原理、实现方式以及性能分析。 首先,我们要了解衡量算法性能的一个关键指标——时间复杂度。通常,我们用大O符号(O)来表示算法的时间复杂度,它描述了算法运行时间...
以上就是C#中几种典型的算法应用,它们涵盖了排序、基本运算、数值计算以及字符串处理等多个方面。理解和掌握这些算法,不仅可以提升编程能力,也为解决更复杂的实际问题打下坚实基础。在实际编程实践中,我们可以...
1. **排序算法**:包括简单的冒泡排序、选择排序,到更高效的插入排序、快速排序、归并排序和堆排序。这些算法用于组织和整理数据,理解它们的工作原理对于编写高效代码至关重要。 2. **查找算法**:如线性查找、二...
这篇实验报告主要关注了几种经典的排序算法在平均情况下的性能比较,包括选择排序(Selection Sort)、插入排序(Insertion Sort)、自底向上合并排序(Bottom-up Merge Sort)、快速排序(Quick Sort)以及堆排序(Heap Sort...
2.1.5 数据结构的几种存储方式 18 2.1.6 数据类型 19 2.1.7 常用的数据结构 20 2.1.8 选择合适的数据结构解决实际问题 21 2.2 线性表 21 2.2.1 什么是线性表 21 2.2.2 线性表的基本运算 22 2.3 顺序表结构 ...
这个源码集合可能涵盖以下几种算法: 1. **排序算法**:如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。这些排序算法各有优劣,适用于不同的场景,理解和掌握它们有助于优化代码性能。 2. **查找...
1. **排序算法**:排序是计算机科学中最基本的操作之一,包括冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序等。这些算法各有优劣,例如冒泡排序简单但效率较低,而快速排序则具有较高的平均时间复杂度...
1. **排序算法**:包括快速排序、冒泡排序、插入排序、选择排序、归并排序、堆排序等。这些排序算法是数据处理的基础,理解其工作原理和性能特点对于优化程序至关重要。 2. **查找算法**:如线性查找、二分查找、...
本项目涵盖了六种常见的排序算法实现,包括它们的关键字比较次数和交换次数的统计,这有助于理解每种算法的效率和性能。以下是这些排序算法的详细介绍: 1. **冒泡排序**:冒泡排序是一种简单的排序方法,通过不断...
这个压缩包内的源代码不仅提供了每种算法的实现,还可能包含了测试用例和性能分析,帮助读者深入理解算法的工作原理,并能够动手实践。通过学习和运行这些源码,开发者可以提高解决问题的能力,提升编程技巧,同时为...
前向迭代算法分为几个步骤: 1. **检查当前状态**:如果状态正常,即`status=0`,则继续进行。 2. **右子节点检查**: - 若存在右子节点,则将当前节点压入后向索引处,并递减后向索引。 - 移动到右子节点,并从该...
这份资料"用php实现几种常见的排序算法共6页.pdf.zip"显然包含了关于如何使用PHP实现几种常见排序算法的教程或笔记。 首先,让我们回顾一下几种常见的排序算法,并讨论它们在PHP中的实现: 1. **冒泡排序**...
主要有以下几种: - **普通插入迭代器**:将对象插入到容器中的任何位置。 - **前端插入迭代器**(`Front_insert_iterator`):使用容器的`push_front`成员函数,将对象插入数据集的前端。 - **后端插入迭代器**(`...
实验的目标是熟悉set、multiset、map和multimap这四种关联容器的使用,以及掌握插入迭代器和反向迭代器的操作,并应用四种基本的非变异算法。 首先,set和multiset是STL中的两种关联容器,它们分别存储唯一元素和...
根据给定的文件信息,我们可以深入探讨几种在Java中实现的经典排序算法,这些算法是数据结构与算法领域的重要组成部分,广泛应用于各种计算机科学场景。以下是对插入排序(Insertion Sort)、冒泡排序(Bubble Sort...