Functions in Mathematica - sort function

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 4K views
Physics_rocks
Messages
12
Reaction score
0
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
 
Physics news on Phys.org
You are looking for a For loop + If statement?

Code:
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
 
CompuChip said:
You are looking for a For loop + If statement?

Code:
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

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; ]

?