/*
- Selection Sort
- Insertion Sort
- Bubble Sort
- Shellsort
- Distribution counting
- Quicksort
- Digitales Sortieren
- Radix Exchange Sort
- Straight Radix Sort
- Prioritätswarteschlangen
- Heapsort
- Mergesort
- Externes Sortieren ...
*/
#include <stdio.h>
void selection (int [], int);
void insertion (int [], int);
void bubble (int [], int);
int fib (int);
void fibonacci (int);
void selection (int a [], int N) {
int i, j, min, t;
for (i = 1; i < N; i++) {
min = i;
for (j = i+1; j <= N; j++)
if (a [j] < a [min])
min = j;
t = a [min];
a [min] = a [i];
a [i] = t;
}
}
void insertion (int a [], int N) {
int i, j, v;
for (i = 2; i <= N; i++) {
v = a [i];
j = i;
while (a [j-1] > v) {
a [j] = a [j-1];
j--;
}
a [j] = v;
}
}
void bubble (int a [], int N) {
int i, j, t;
for (i = N; i >= 1; i--) {
for (j = 2; j <= i; j++) {
if (a[j-1] > a [j]) {
t = a [j-1];
a [j-1] = a [j];
a [j] = t;
}
}
}
}
/*
Fibonacci Zahlen
*/
int fib (int n) {
if (n == 0) return 0;
else if (n == 1) return 1;
else if (n > 1) return fib (n-1) + fib (n-2);
return 0;
}
void fibonacci (int n) {
int a = 0;
int b = 1;
int i;
for (i = 0; i < n; i++) {
a = a+b;
b = b+a;
printf ("%i %i ", a, b);
}
}
/*
* 1+2+3+...+n = SUM_{k=1}^n {k} = (n*(n+1))/2
* */
int main (void) {
fibonacci (10);
}