(1)冒泡:
public class Sort {
public static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
public static int[] sort(int[] ls){
for(int i=0;i<ls.length;i++)
for (int j = 0; j < ls.length-i-1; j++)
if(ls[j]>ls[j+1])
swap(ls,j,j+1);
return ls;
}
public static void main(String[] args){
int[] ls = {9,20,1,12,32,10,5,8};
int[] a = {1,2,3,6,10,18,25,38};
int[] arr = sort(ls);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println(sqSearch(ls,5));
System.out.println(sqSearch(a,25));
}
}
你也可以试试手写可以一次通过吗,我第一次就在第二个循环这里少减了1
for (int j = 0; j < ls.length-i-1; j++)
(2)查找
无序
public static int search(int array[],int key){
int i;
for(i=0;i<array.length&&key!=array[i];i++);
return(i<array.length?i:-1);
}
有序折半
public static int sqSearch(int array[],int key)
{
int low,high,mid;
low = 0;
high = array.length - 1;
while(low<=high)
{
mid = (high+low)/2;
if(array[mid] == key)
return(mid);
if(key > array[mid])
low = mid + 1;
else
high = mid - 1;
}
return(-1);
}
分享到:
相关推荐
这里,我们围绕“C语言排序查找源代码”这个主题进行深入探讨。 首先,让我们逐一分析这些文件名所代表的算法: 1. **快速排序.c**:快速排序是一种基于分治思想的高效排序算法,由C.A.R. Hoare在1960年提出。它的...
这个压缩包文件“多种排序查找算法java实现”显然包含了用Java语言编写的多种经典排序和查找算法的源代码。下面,我们将详细讨论这些算法及其在实际应用中的价值。 首先,我们来看排序算法: 1. **选择排序**:这...
本压缩包文件包含的“c程序 排序 查找”聚焦于C语言中两个核心概念:排序和查找,这些都是数据处理和分析的基础。下面将详细阐述这两个知识点及其在实际中的应用。 首先,我们来探讨“排序”。排序是指将一组数据...
下面我们将深入探讨这些常用排序查找算法。 首先,我们来看看排序算法。排序是一系列将一组数据按照特定顺序排列的过程。这里提及的"【排序结构1】插入排序"是一种简单直观的算法,它通过构建有序序列,对于未排序...
本文将深入探讨基于二叉排序树的排序查找应用,以及相关的C语言源码实现。 首先,我们来看“冒泡排序”。这是一种简单的排序算法,通过不断交换相邻的未正确排序的元素来逐步达到排序的目的。其基本思想是重复地...
这个压缩包文件“数据结构——排序查找等实验”显然包含了一系列与数据结构相关的编程实验,涵盖了排序算法和查找技术,这对于学习和理解这些概念至关重要。 首先,让我们逐一解析标签所提及的关键知识点: 1. **...
以上就是关于"排序查找"这一主题的主要内容。在C语言中实现这些算法,不仅要求对C语言的语法有深入理解,还需要掌握数据结构和算法的基本原理。通过实践这些算法,可以提升编程能力,同时也能更好地理解和优化程序的...
本资源"数据结构排序查找常用算法实现.zip"提供了一系列常用排序和查找算法的实现,帮助开发者深入理解并掌握这些核心概念。以下是这些算法的详细说明: 1. 冒泡排序(Bubble Sort): 冒泡排序是一种简单的交换...
在这个主题中,"链表树图排序查找"涵盖了三个核心概念:链表、树和图,以及排序和查找算法。让我们深入探讨这些知识点。 首先,链表是一种线性数据结构,不同于数组,它的元素不需要连续的内存空间。链表由一系列...
在IT领域,排序和查找是两个非常基础且重要的概念,它们是计算机科学中解决问题的核心工具。本文将深入探讨标题和描述中提及的六种基本运算:直接插入排序、冒泡排序、直接选择排序、堆排序、希尔排序以及二分查找,...
使用改进的快速排序查找多目标帕累托前沿 此函数返回给定多目标解空间的帕累托最优设计集的索引 此函数将索引返回到对应于帕累托最优设计集的给定矩阵。该函数的底层算法基于快速排序,并且对于具有有利的领先系数的...
自己整理的用C语言写的数据结构和排序查找算法。数据结构包括:栈,队列,两个队列实现一个栈,两个栈实现一个队列,二叉树的创建,添加,平衡二叉树天界旋转等,红黑树,创建,添加节点,删除节点,调整。算法包括...
### 计算机程序设计技巧之排序查找 #### 数据结构与算法基础 计算机科学的核心之一是数据结构与算法。良好的数据结构与高效的算法是解决复杂问题的关键。在《计算机程序设计技巧》第三卷《排序和查找》这本书中,...
c++实现链表创建排序查找删除所有单链表功能
在本资源中,"数据结构所有排序查找带图详细解释.7z" 提供了关于排序和查找算法的详细讲解,配以图表和注释,非常适合初学者学习。下面我们将深入探讨这些主题。 首先,我们来看排序。排序是指将一组无序的数据按照...
本文将深入探讨这两个主题,并结合"排序查找总结"这一资料,为读者提供一个全面的理解。 首先,我们来谈谈排序。排序是将一组无序的数据按照特定规则(如升序或降序)重新排列的过程。常见的排序算法有: 1. 冒泡...
在IT领域,排序、查找和搜索算法是计算机科学的基础,对于优化程序性能至关重要。这些算法在数据处理、数据库系统、机器学习等多个方面都有广泛应用。以下将详细解释标题和描述中提及的一些经典算法。 1. **排序...
在Linux环境下进行C语言编程时,排序和查找是常见的操作,尤其在处理大量数据时更为重要。本资源提供了相关的C源码以及一个`makefile`,帮助开发者更高效地管理和编译项目。以下是对这些知识点的详细解释: 1. **...
### 排序查找算法 #### 一、数组常用排序算法 在计算机科学中,排序算法是一种能将一串数据按照特定的顺序进行排列的算法。排序是计算机程序设计中的一项基本任务,在数据处理中有着广泛的应用。下面我们将详细...