📄 ch7_3.c
字号:
#include<stdio.h>
#include<stdlib.h>
void ShowData(int, int *);
void Insertion_Sort(int, int *);
void main( )
{
int Data[7]= { 6, 32, 31, 5, 3, 7, 8 }; /* 原始数据 */
/* 第一条数据Data[0]表示数据的个数 */
printf("原始数据 :");
ShowData(Data[0], Data); /* 把原始数据列印出来 */
Insertion_Sort(Data[0], Data);/* 调用插入排序法,有6条数据 */
}
void ShowData(int n, int *Data) /* 输出该数组的函数 */
{
int i;
for(i=1; i<=n; i++)
{
printf("%4d", Data[i]);
}
printf("\n");
}
void Insertion_Sort(int n, int *Data)
{
int i, j, k, temp; /* n条数据存储于Data[1]...Data[n]中 */
k=0; /* k代表Pass的次数 */
for(i=2; i<=n; i++)
{
temp=Data[i];
j=i-1;
while(j>=1 && temp<Data[j]) /* 由右至左逐一与已排序的数据做比较 */
{ /* 若已排序的数据值较大,则此条数据向右移动一个位置 */
Data[j+1]=Data[j];
j--;
}
Data[j+1]=temp;
printf("第%d次Pass:", ++k);
ShowData(n, Data); /* 把每一次回合排序后的数据输出来 */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -