插入排序
int InsertionSort(int *data, int total)
{
int fixation = 0;
int i = 0, j = 0;
for(i = 0; i < total; i++)
{
fixation = i;
for(j = i - 1; j >= 0; j--)
{
if(data[j] > data[fixation])
{
int temp = data[j];
data[j] = data[fixation];
data[fixation] = temp;
fixation = j;
}
}
}
}
选择排序
int SelectionSort(int *data, int total)
{
int min = 0;
int i = 0, j = 0;
for(i = 0; i < total; i++)
{
min = i;
for(j = i + 1; j < total; j++)
{
if(data[j] < data[min])
{
min = j;
}
}
int temp = data[i];
data[i] = data[min];
data[min] = temp;
}
}
冒泡排序
int BubbleSort(int *data, int total)
{
int i = 0, j = 0;
int temp_data = 0;
for(i = 0; i < total - 1; i++)
{
for(j = total - 1; j > i; j--)
{
temp_data = compare(data[j - 1], data[j]);
if(temp_data == 0)
{
continue;
}
else
{
temp_data = data[j];
data[j] = data[j - 1];
data[j - 1] = temp_data;
}
}
}
}
比较函数
int compare(int a, int b)
{
return a < b ? 0 : 1;
}