Sort an integer array

Revision as of 10:26, 28 January 2007 by rosettacode>Bob9000 (created task)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sort an array (or list) of integers in ascending numerical order. Use a sorting facility provided by the language/library if possible.

Task
Sort an integer array
You are encouraged to solve this task according to the task description, using any language you may know.

C

Compiler: GCC 4.0.1

#include <stdlib.h>

int intcmp(const void *i1, const void *i2)
{
    int l = *(int *)i1, r = *(int *)i2;
    return l >= r ? l > r ? 1 : 0 : -1;
}

int main()
{
    int nums[5] = {2,4,3,1,2};
    qsort(nums, 5, sizeof(int), intcmp);
}

C++

Compiler: GCC 4.0.1

With a simple array:

#include <algorithm>

int main()
{
    int nums[] = {2,4,3,1,2};
    std::sort(nums, nums+5);
}

With a std::vector:

#include <algorithm>
#include <vector>

int main()
{
    std::vector<int> nums;
    nums.push_back(2);
    nums.push_back(4);
    nums.push_back(3);
    nums.push_back(1);
    nums.push_back(2);
    std::sort(nums.begin(), nums.end());
}

With a std::list:

#include <list>

int main()
{
    std::list<int> nums;
    nums.push_back(2);
    nums.push_back(4);
    nums.push_back(3);
    nums.push_back(1);
    nums.push_back(2);
    nums.sort();
}

Haskell

Interpreter: GHCi 6.6

import List

nums = [2,4,3,1,2]
sorted = sort nums

Java

import java.util.Arrays;

public class example {
    public static void main(String[] args)
    {
        int[] nums = {2,4,3,1,2};
        Arrays.sort(nums);
    }
}

Objective C

Compiler: GCC 4.0.1 (apple)

- (void)example
{
    NSArray *nums, *sorted;
    nums = [NSArray arrayWithObjects:
        [NSNumber numberWithInt:2],
        [NSNumber numberWithInt:4],
        [NSNumber numberWithInt:3],
        [NSNumber numberWithInt:1],
        [NSNumber numberWithInt:2],
        nil];
    sorted = [nums sortedArrayUsingSelector:@selector(compare:)];
}

Perl

Interpreter: perl 5.8.6

@nums = (2,4,3,1,2);
@sorted = sort {$a <=> $b} @nums;

PHP

Interpreter: PHP 4.4.4 CLI

<?php
$nums = array(2,4,3,1,2);
sort($nums);
?>

UNIX Shell

Interpreter: Bash 2.05b

nums=(2 4 3 1 2)
sorted=($(for i in ${nums[*]}; do echo $i; done | sort -n))