#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma warning (disable:4996)
void swap(int array[], int i,int j)
{
if (array == NULL)
{
return;
}
array[i] = array[i] ^ array[j];
array[j] = array[i] ^ array[j];
array[i] = array[i] ^ array[j];
}
void print_array(int array[], int n)
{
if (array == NULL)
{
return;
}
for (int i = 0; i < n; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
void insert_sort(int array[], int n)
{
if (array == NULL)
{
return;
}
for (int i = 1; i < n; i++)
{
for (int j = i - 1; j >= 0 && array[j] > array[j + 1]; j--)
{
swap(array,j,j+1);
}
}
}
int main()
{
int array[] = {9,8,7,6,5,4,3,2,1};
int n = sizeof(array) / sizeof(array[0]);
printf("排序前\n");
print_array(array,n);
insert_sort(array,n);
printf("排序后\n");
print_array(array,n);
printf("\n");
system("pause");
return 0;
}
本文展示了如何使用C语言实现插入排序算法,包括交换元素的技巧及排序前后数组的打印。通过`insert_sort`函数,对一个逆序排列的整数数组进行排序,最后输出排序结果。
1万+

被折叠的 条评论
为什么被折叠?



