⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch7_3.c

📁 本内容为清华大学严蔚敏版数据结构部分算法实现代码
💻 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 + -