`

Sort

 
阅读更多
package com.u.util.arithmetic.sort;

import java.util.Random;

public class MySort {
	
	public MySort()
	{
		
	}
	
	//bobble sort
	public static void test(int[] arr, int length)
	{
		length = arr.length;
		int temp = 0;
		for(int i = 0; i < length; i++)
		{
			for(int j = 0; j < i; j++)
			{
				if(arr[i] < arr[j])
				{
					temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}
			}
		}
	}
	
	public static void _main(String[] args) {
		
		Random rand = new Random(System.currentTimeMillis());
		final int MAX = 100;
		int[] arr = new int[MAX];
		
		for(int i = 0; i < arr.length; i++)
		{
			arr[i] = rand.nextInt();
		}
		
		MySort.test(arr, arr.length);
		
		for(int i = 0; i < arr.length; i++)
		{
			System.out.println(arr[i]);
		}
	}
	
	public static void __main(String[] args) {
		/*
		 * quick sort
		 */
		int[] _arr = new int[]{5,7,2,9,4,6,3,1};
		for(int i: _arr)
		{
			System.out.print(i + " ");
		}
		System.out.println();
		
		(new MySort()).quickSort(_arr, 0, _arr.length - 1);
		
		for(int i: _arr)
		{
			System.out.print(i + " ");
		}
	}
	
	//quick sort Recursion
	public void quickSort(int[] arr, int low, int hight)
	{
		if(low < hight)
		{
			int middle = this.findMiddle(arr, low, hight);
			quickSort(arr, low, middle);
			quickSort(arr, middle + 1, hight);
		}
		else
			return;
	}
	
	public int getMiddle(int[] arr, int low, int hight)
	{
		int middle = 0;
		if(low < hight)
		{
			middle = (low + hight) / 2;
		}
		return middle;
	}
	
	public int findMiddle(int[] arr, int low, int hight)
	{
		/*
		int left = arr[low];
		int right = arr[hight];
		*/
		/*
		 * 5,7,2,9,4,6,3,1          f	f
		 * 1,7,2,9,4,6,3,5			f	t
		 * 1,5,2,9,4,6,3,7			t	f
		 * 1,3,2,9,4,6,5,7			f	
		 * 1,3,2,5,4,6,9,7
		 * 1,3,2,4,5,6,9,7
		 * 
		 * 1,5,2,7,4,6,3,9
		 */
		int left = low;
		int right = hight;
		int temp = 0;
		boolean flag = false;
		while(left < right)
		{
			if(arr[left] > arr[right])
			{
				flag = !flag;
				temp = arr[left];
				arr[left] = arr[right];
				arr[right] = temp;
				if(flag)
					left++;
				else
					right--;
			}
			else
				if(!flag) right--;
				else left++;
		}
		return left;
	}
	
	public static void main(String[] args) {
		int[] arr = new int[]{5,7,2,9,4,6,3,1};
		arr = new int[]{69, 0, 70, 6, 38, 38, 24, 56, 44, 26, 73, 77, 30, 45, 97, 65};
		(new MySort()).quickSort(arr, 0, arr.length - 1);
		for(int i: arr)
		{
			System.out.print(i + " ");
		}
	}
}

分享到:
评论

相关推荐

    sort_nat.zip_sort nat_sort_nat

    标题中的"sort_nat.zip_sort nat_sort_nat"可能是指一个用于整理文件名的程序或脚本,它采用了自然排序(Natural Sort)的方式,使得文件名按照人类阅读习惯进行排序。自然排序不仅考虑字符的顺序,还能理解数字序列...

    SORT目标跟踪算法论文

    SORT(Simple Online and Realtime Tracking)算法是一种针对多目标跟踪(Multiple Object Tracking,MOT)问题的高效实时方法。该算法由Alex Bewley等人在2017年发表的论文中提出,其主要关注在线实时应用中的目标...

    多目标跟踪(SORT,Deep_SORT,IOU17,SST)代码

    本资源包含了四种常见的多目标跟踪算法的实现:SORT (Simple Online and Realtime Tracking),Deep SORT,IOU Tracker以及SST (Spatio-temporal Salient Target Detection and Tracking)。 1. **SORT (Simple On...

    基于YOLOV5-7.0+DeepSort的目标追踪算法

    基于DeepSORT算法和YOLOv5 7.0版本的目标跟踪实现。DeepSORT是一种强大的多目标跟踪算法,结合YOLOv5 7.0版本的目标检测能力,可以实现高效准确的实时目标跟踪。 基于 YOLOV5 和 DeepSort 的目标追踪算法是一种结合...

    YOLOv10-DeepSORT-main

    # YOLOv10_DeepSORT This repository contains code for object detection and tracking in videos using the YOLOv10 object detection model and the DeepSORT algorithm. ## Installation 1. Clone this ...

    基于YOLOV5-7.0+DeepSort的目标追踪算法测

    基于DeepSORT算法和YOLOv5 7.0版本的目标跟踪实现。DeepSORT是一种强大的多目标跟踪算法,结合YOLOv5 7.0版本的目标检测能力,可以实现高效准确的实时目标跟踪。 基于 YOLOV5 和 DeepSort 的目标追踪算法是一种结合...

    cobol对file文件操作SORT

    "SORT"是COBOL中一个强大的工具,用于对文件进行排序。本文将深入探讨COBOL中的FILE操作,以及如何利用USING,GIVING,INPUT PROCEDURE和OUTPUT PROCEDURE指令进行文件操作,特别是与SORT相关的知识点。 首先,让...

    deep-sort-pytorch-master-yolov3配置好的代码

    《深度学习目标追踪技术:基于Deep-Sort与PyTorch的YOLOv3实现详解》 在计算机视觉领域,目标追踪是一项重要的任务,它能够帮助系统持续关注在视频或序列图像中的特定对象。Deep-Sort是一种高效且准确的目标追踪...

    YOLOv5-Deepsort飞鸟视觉检测和跟踪

    YOLOv5-DeepSORT飞鸟视觉检测和跟踪是一个基于深度学习的复合系统,用于实时地在视频或图像序列中定位并追踪鸟类。这个项目融合了两种强大的技术:YOLOv5(You Only Look Once)作为目标检测器,以及DeepSORT(Deep ...

    移动跟踪-基于YOLOv10+DeepSort实现视频中移动目标跟踪算法-附项目源码+流程教程-优质项目实战.zip

    本项目以YOLOv10和DeepSORT两种技术为核心,实现了对视频中移动目标的有效跟踪,提供了详细的源码和教程,是学习和实践这一技术的良好资源。 首先,YOLO(You Only Look Once)是一种实时的目标检测系统,其设计...

    使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip

    使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码...

    YOLOv8与DeepSORT实现目标追踪

    为了解决这些问题,可以借助跟踪器 DeepSORT 以及检测器 YOLO v8,从而构建一个高性能的实时多目标跟踪模型。 参考博客:https://blog.csdn.net/matt45m/article/details/134237238#comments_32297294

    yolov5+deepsort+bytertrack+iou 人车流统计

    在本文中,我们将深入探讨如何使用一系列先进的计算机视觉技术,包括YOLOv5目标检测、DeepSORT追踪算法、Bytetrack以及IoU计算,来实现高效的人车流统计。这些技术在现代智能监控和交通管理系统中发挥着关键作用。 ...

    DeepSORT-YOLOv5猫狗检测和跟踪+可视化目标运动轨迹

    在本文中,我们将深入探讨"DeepSORT-YOLOv5猫狗检测和跟踪+可视化目标运动轨迹"这一技术主题。这个项目结合了两种强大的计算机视觉技术:YOLOv5(You Only Look Once的第五版)对象检测算法和DeepSORT目标跟踪算法,...

    java List 排序 Collections.sort

    当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行排序。本文将深入探讨`Collections.sort()`的使用、原理以及如何自定义排序规则...

    yolov5-deepsort成功运行

    YOLOv5与DeepSORT是两个在计算机视觉领域广泛应用的算法。YOLO(You Only Look Once)是一种实时目标检测系统,而DeepSORT则是一个多目标跟踪框架。它们结合使用,可以实现对视频中目标的精确检测和连续追踪。 ...

    two-phase-merge_sort-.rar_2phase merge sort_merge_sort_two merge

    标题中的"two-phase-merge_sort-.rar_2phase merge sort_merge_sort_two merge"指的是一个采用两阶段归并排序算法的程序或文档集合。这个算法是针对大数据量、无法一次性加载到内存中的情况设计的,常见于外部排序...

    C语言中的sort

    在C语言中,`sort`通常指的是排序算法的实现,特别是在C++标准库中,`std::sort`是一个常用的排序函数。然而,在纯C环境中,没有内置的`sort`函数,程序员需要自己实现排序算法。这里我们将探讨C语言中实现排序的...

Global site tag (gtag.js) - Google Analytics