Here you can find the source of sort(int v[], int left, int right)
static void sort(int v[], int left, int right)
//package com.java2s; /*************************************************************************** * Program's name: acotsp// w w w. j a v a 2s . c o m * * Ant Colony Optimization algorithms (AS, ACS, EAS, RAS, MMAS, BWAS) for the * symmetric TSP * * Copyright (C) 2004 Thomas Stuetzle * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * email: stuetzle no@spam informatik.tu-darmstadt.de * mail address: Universitaet Darmstadt * Fachbereich Informatik * Hochschulstr. 10 * D-64283 Darmstadt * Germany ***************************************************************************/ public class Main { static void sort(int v[], int left, int right) /* * FUNCTION: recursive routine (quicksort) for sorting an array * INPUT: one array, two indices * OUTPUT: none * (SIDE)EFFECTS: elements at position i and j of the two arrays are swapped */ { int k, last; if (left >= right) return; swap(v, left, (left + right) / 2); last = left; for (k = left + 1; k <= right; k++) if (v[k] < v[left]) swap(v, ++last, k); swap(v, left, last); sort(v, left, last); sort(v, last + 1, right); } static void swap(int v[], int i, int j) /* * FUNCTION: auxiliary routine for sorting an integer array * INPUT: array, two indices * OUTPUT: none * (SIDE)EFFECTS: elements at position i and j of array are swapped */ { int tmp; tmp = v[i]; v[i] = v[j]; v[j] = tmp; } }