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

📄 ch7_2.c

📁 本内容为清华大学严蔚敏版数据结构部分算法实现代码
💻 C
字号:
#include<stdio.h>
#include<stdlib.h>
void ShowData (int, int *);
void Select_Sort(int, int *);
void main( )
{
  int Data[7]= { 6, 32, 31, 5, 3, 7, 8 };  /* 原始数据 */
  /* 第一条数据Data[0]表示数据的个数 */
  printf("原始六条数据为:");
  ShowData(Data[0], Data);  /* 把原始数据输出来 */
  Select_Sort(Data[0], Data);  /* 调用选择排序法,有6条数据 */
}

void Select_Sort(int n, int *Data)
{                     /* n条数据存储于Data[1]...Data[n]中 */
  int  i, j, k, temp;
  for(i=1; i<=n-1; i++)  /* 共扫瞄n-1次 */
  {
    k=i; 
    for(j=i+1; j<=n; j++)
      if(Data[j] < Data[k])
	    k=j;           /* 查找键值最小的数据 */
    if(i != k)           /* 使此次扫瞄的最小键值数据摆在最前面 */
    {
      temp=Data[i];
      Data[i]=Data[k];
      Data[k]=temp;
    }           
    printf("第%d次Pass,结果:", i);
    ShowData(n, Data);     /* 把每一次回合排序后的数据输出来 */
  }
}

void ShowData(int n, int *Data)
{
  int i;
  for(i=1; i<=n; i++)
    printf("%3d", Data[i]);
  printf("\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -