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"可能是指一个用于整理文件名的程序或脚本,它采用了自然排序(Natural Sort)的方式,使得文件名按照人类阅读习惯进行排序。自然排序不仅考虑字符的顺序,还能理解数字序列...
SORT(Simple Online and Realtime Tracking)算法是一种针对多目标跟踪(Multiple Object Tracking,MOT)问题的高效实时方法。该算法由Alex Bewley等人在2017年发表的论文中提出,其主要关注在线实时应用中的目标...
本资源包含了四种常见的多目标跟踪算法的实现:SORT (Simple Online and Realtime Tracking),Deep SORT,IOU Tracker以及SST (Spatio-temporal Salient Target Detection and Tracking)。 1. **SORT (Simple On...
基于DeepSORT算法和YOLOv5 7.0版本的目标跟踪实现。DeepSORT是一种强大的多目标跟踪算法,结合YOLOv5 7.0版本的目标检测能力,可以实现高效准确的实时目标跟踪。 基于 YOLOV5 和 DeepSort 的目标追踪算法是一种结合...
# 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 ...
基于DeepSORT算法和YOLOv5 7.0版本的目标跟踪实现。DeepSORT是一种强大的多目标跟踪算法,结合YOLOv5 7.0版本的目标检测能力,可以实现高效准确的实时目标跟踪。 基于 YOLOV5 和 DeepSort 的目标追踪算法是一种结合...
"SORT"是COBOL中一个强大的工具,用于对文件进行排序。本文将深入探讨COBOL中的FILE操作,以及如何利用USING,GIVING,INPUT PROCEDURE和OUTPUT PROCEDURE指令进行文件操作,特别是与SORT相关的知识点。 首先,让...
《深度学习目标追踪技术:基于Deep-Sort与PyTorch的YOLOv3实现详解》 在计算机视觉领域,目标追踪是一项重要的任务,它能够帮助系统持续关注在视频或序列图像中的特定对象。Deep-Sort是一种高效且准确的目标追踪...
YOLOv5-DeepSORT飞鸟视觉检测和跟踪是一个基于深度学习的复合系统,用于实时地在视频或图像序列中定位并追踪鸟类。这个项目融合了两种强大的技术:YOLOv5(You Only Look Once)作为目标检测器,以及DeepSORT(Deep ...
本项目以YOLOv10和DeepSORT两种技术为核心,实现了对视频中移动目标的有效跟踪,提供了详细的源码和教程,是学习和实践这一技术的良好资源。 首先,YOLO(You Only Look Once)是一种实时的目标检测系统,其设计...
使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码.zip使用YOLOv9+DeepSort实现的目标跟踪算法python源码...
为了解决这些问题,可以借助跟踪器 DeepSORT 以及检测器 YOLO v8,从而构建一个高性能的实时多目标跟踪模型。 参考博客:https://blog.csdn.net/matt45m/article/details/134237238#comments_32297294
在本文中,我们将深入探讨如何使用一系列先进的计算机视觉技术,包括YOLOv5目标检测、DeepSORT追踪算法、Bytetrack以及IoU计算,来实现高效的人车流统计。这些技术在现代智能监控和交通管理系统中发挥着关键作用。 ...
在本文中,我们将深入探讨"DeepSORT-YOLOv5猫狗检测和跟踪+可视化目标运动轨迹"这一技术主题。这个项目结合了两种强大的计算机视觉技术:YOLOv5(You Only Look Once的第五版)对象检测算法和DeepSORT目标跟踪算法,...
当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行排序。本文将深入探讨`Collections.sort()`的使用、原理以及如何自定义排序规则...
YOLOv5与DeepSORT是两个在计算机视觉领域广泛应用的算法。YOLO(You Only Look Once)是一种实时目标检测系统,而DeepSORT则是一个多目标跟踪框架。它们结合使用,可以实现对视频中目标的精确检测和连续追踪。 ...
标题中的"two-phase-merge_sort-.rar_2phase merge sort_merge_sort_two merge"指的是一个采用两阶段归并排序算法的程序或文档集合。这个算法是针对大数据量、无法一次性加载到内存中的情况设计的,常见于外部排序...
在C语言中,`sort`通常指的是排序算法的实现,特别是在C++标准库中,`std::sort`是一个常用的排序函数。然而,在纯C环境中,没有内置的`sort`函数,程序员需要自己实现排序算法。这里我们将探讨C语言中实现排序的...