# Functions in Mathematica - sort function

1. Jan 14, 2010

### Physics_rocks

Hi ,

I'm trying to write down the following function :

sort[list_]

it needs to sort a list of numbers by checking each two adjacent numbers and swap them
if it is needed , but it doesn't work . I need to implement it using Pattern Matching .

but I don't understand how can I interate in "list" , meaning how can I ask an "IF" question
such as If list < list[i+1] then swap(list,list[i+1]) .

10x

2. Jan 15, 2010

### CompuChip

You are looking for a For loop + If statement?

Code (Text):

For[i = 1; i <= Length[list]; i++;
If[ test; whatToDoIfTestIsTrue; whatToDoIfTestIsFalse]

The last argument (whatToDoIfTestIsFalse) is optional, you can leave it (and the trailing semicolon) out

3. Jan 15, 2010

### Physics_rocks

Thank you .
This would do ?

PHP:
sort[list_] :=
For[i = 1 ; i < Length[list]; i++;
If [ list[i] < list[i + 1] ; j = list[i + 1] ,
list[i + 1] = list[i], list[i] = j; ]
?

4. Jan 17, 2010

### Staff: Mentor

I think you have the semicolons and commas reversed inside the If statement.

5. Jan 18, 2010

### CompuChip

Whoops, you do.

Similar Threads - Functions Mathematica sort Date
Mathematica Cannot do the integral of the Hyper-geometric function? Sunday at 9:46 AM
Mathematica Cannot Plot This Function in Mathematica Feb 26, 2018
Mathematica How to append functions to a list of functions? Oct 8, 2017
Is the integral for current correct? Jul 7, 2017
Trying to define a integrating function in Mathematica Jun 11, 2016