1 C[ | ]

C
Copy
#include <stdio.h>
void selection_sort(int a[], int size) {
int i, j, minidx, temp;
for(i=0; i<size; i++) {
minidx = i;
for(j=i+1; j<size; j++) {
if(a[minidx] > a[j]) minidx = j;
}
temp=a[minidx]; a[minidx]=a[i]; a[i]=temp;
}
}
int main() {
int arr[] = {9,1,22,4,0,-1,1,22,100,10};
int size = sizeof(arr)/sizeof(int);
selection_sort(arr, size);
for(int i=0; i<size; i++) printf("%d ", arr[i]);
// -1 0 1 1 4 9 10 22 22 100
}
2 C++[ | ]

C++
Copy
#include <iostream>
void selection_sort(int a[], int size) {
int i, j, minidx;
for(i=0; i<size; i++) {
minidx = i;
for(j=i+1; j<size; j++) {
if(a[minidx] > a[j]) minidx = j;
}
std::swap(a[minidx], a[i]);
}
}
int main() {
int arr[] = {9,1,22,4,0,-1,1,22,100,10};
int size = sizeof(arr)/sizeof(int);
selection_sort(arr, size);
for(int x: arr) std::cout << x << " ";
// -1 0 1 1 4 9 10 22 22 100
}
3 C#[ | ]

C#
Copy
using System;
class Program {
static void selectionSort(int[] a) {
int i, j, minidx, temp, size=a.Length;
for(i=0; i<size; i++) {
minidx=i;
for(j=i+1; j<size; j++) {
if( a[minidx]>a[j] ) minidx=j;
}
temp=a[minidx]; a[minidx]=a[i]; a[i]=temp;
}
}
static void Main() {
int[] arr = {9,1,22,4,0,-1,1,22,100,10};
selectionSort(arr);
Console.Write(string.Join(",",arr));
// -1,0,1,1,4,9,10,22,22,100
}
}
4 Java[ | ]

Java
Copy
public class MyClass {
static void selection_sort(int a[]) {
int i, j, minidx, temp, size=a.length;
for(i=0; i<size; i++) {
minidx = i;
for(j=i+1; j<size; j++) {
if (a[minidx] > a[j]) minidx = j;
}
temp=a[minidx]; a[minidx]=a[i]; a[i]=temp;
}
}
public static void main(String[] args) {
int[] arr = {9,1,22,4,0,-1,1,22,100,10};
selection_sort(arr);
for(int x:arr) System.out.format( "%d ", x );
// -1 0 1 1 4 9 10 22 22 100
}
}
5 Perl[ | ]

Perl
Copy
sub selection_sort {
my $a=shift;
$size=@$a;
for $i (0..$size-1) {
$minidx=$i;
for $j ($i+1..$size-1) {
$minidx=$j if (@$a[$minidx]>@$a[$j]);
}
(@$a[$minidx],@$a[$i]) = (@$a[$i],@$a[$minidx]);
}
}
@arr = (9,1,22,4,0,-1,1,22,100,10);
selection_sort(\@arr);
print join(',',@arr);
# -1,0,1,1,4,9,10,22,22,100
6 PHP[ | ]

PHP
Copy
<?php
function selection_sort(&$a) {
$size = count($a);
for($i=0; $i<$size; $i++) {
$minidx = $i;
for($j=$i+1; $j<$size; $j++) {
if($a[$minidx]>$a[$j]) $minidx = $j;
}
$temp=$a[$minidx]; $a[$minidx]=$a[$i]; $a[$i]=$temp;
}
}
$arr = [9,1,22,4,0,-1,1,22,100,10];
selection_sort( $arr );
echo implode(',',$arr);
# -1,0,1,1,4,9,10,22,22,100
7 Python[ | ]

Python
Copy
def selection_sort(a):
size = len(a)
for i in range(size):
minidx = i
for j in range(i+1,size):
if(a[minidx]>a[j]):
minidx=j
a[minidx],a[i] = a[i],a[minidx]
arr = [9,1,22,4,0,-1,1,22,100,10]
selection_sort( arr )
print( arr )
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]
8 Ruby[ | ]

Ruby
Copy
def selection_sort(a)
for i in (0...a.size)
minidx=i
for j in (i+1...a.size)
minidx=j if a[minidx]>a[j]
end
a[minidx],a[i] = a[i],a[minidx]
end
end
arr = [9,1,22,4,0,-1,1,22,100,10]
selection_sort(arr)
print arr
# [-1, 0, 1, 1, 4, 9, 10, 22, 22, 100]