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

📄 2.21.cpp

📁 哈夫曼的优先算法(根据递归调用的循环算法)很有用
💻 CPP
字号:
//#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define OVERFLOW -2
#define LIST_INIT_SIZE  100  //现行表存储空间的初始分配量
#define LISTINCREMENT   10   //现行表存储空间的分配量
#define ElemType int
typedef int Status;
typedef struct{
	int * elem;   //存储空间基址
	int length;   //当前长度
	int listsize; //当前分配的存储容量(以sizeof(ElemType)为单位)
}SqList;
  Status InitList(SqList *L)/* 操作结果:构造一个空的顺序线性表*/
 { 
   (*L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
   if(!(*L).elem) exit(OVERFLOW); /* 存储分配失败*/
   (*L).length=0; /* 空表长度为*/
   (*L).listsize=LIST_INIT_SIZE; /* 初始存储容量*/
  
   return OK;
 }

 Status ReverseList(SqList *L){
	 int i,t;
   (*L).elem[0]=1;
   (*L).elem[1]=2;
	 (*L).elem[2]=3;
	 (*L).elem[3]=4;
	 (*L).elem[4]=5;
	 (*L).elem[5]=6;
    (*L).length=6;  //初始化线性表各元素
	 printf("置换前输出表中数:\n");
     for(i=0;i<(*L).length;i++)
	   if (i<(*L).length-1)
	     printf("%d->",(*L).elem[i]);
	   else
	     printf("%d",(*L).elem[i]);  //输出置换前各元素
	 for(i=0;i<=(*L).length/2;i++)
	 {  t=(*L).elem[i];
	    (*L).elem[i]=(*L).elem[(*L).length-1-i];
		(*L).elem[(*L).length-1-i]=t;}  //置换元素
	 printf("\n置换后输出表中数:\n"); 
	for(i=0;i<(*L).length;i++)
		if (i<(*L).length-1)
	     printf("%d->",(*L).elem[i]);
	   else
	     printf("%d",(*L).elem[i]);  //输出置换后各元素
	
	 return OK;
 }

int main(SqList *p)
{ 
	printf("线性表的逆序-21:\n");
	SqList La;
	
    InitList(&La); /* 创建空表La */
    ReverseList(&La); /* 置换表中数La */
    
}

⌨️ 快捷键说明

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