9_3.txt

来自「C语言数据结构知识原代码 C语言数据结构知识原代码C语言数据结构知识原代码」· 文本 代码 · 共 40 行

TXT
40
字号
#include<stdio.h>
typedef int keytp;
sift(keytp key[],int i,int m)
 {
  int j;
  keytp temp;
  temp=key[i];j=2*i;             /*j为i根结点的左孩子*/
  while(j<=m){
   if(j<m && key[j]<key[j+1])j++;/*j取关键字较大的孩子结点编号*/
   if(temp<key[j]){
    key[i]=key[j];
    i=j;
    j=2*i;
   }
   else break;}
  key[i]=temp;
 }
 heapsort(keytp key[],int n)
 {
  int i;keytp temp;
  for(i=(n-1)/2;i>=0;i--)
   sift(key,i,n-1);
  for(i=n-1;i>=1;i--)
   {
     temp=key[0];
     key[0]=key[i];
     key[i]=temp;
     sift(key,0,i-1);
    }
  }
main()
{
 keytp key[]={12,5,9,56,10,40,4,50,45};
 int i;
 heapsort(key,9);
 printf("快速排序后的序列为:\n");
 for(i=0;i<9;i++)
  printf("%d ",key[i]);
 }
 

⌨️ 快捷键说明

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