4.7作业

一、链式队列的实现和操作
函数声明与结构体定义

#ifndef __QUEUE__
#define __QUEUE__
typedef int datatype;

typedef struct node{
    union{
        datatype text;
        int len;
    }data;

    struct node* next;
}Linkequeue;

typedef struct{
    Linkequeue* last;
    Linkequeue* first;
}Lq_lf;

Lq_lf* creat_linkequeue();

void insert_linkequeue(Lq_lf* lf,datatype data);

datatype output_linkequeue(Lq_lf* lf);

void show_linkequeue(Lq_lf* lf);
#endif

方法实现

#include <stdio.h>
#include "linkequeue.h"
#include <stdlib.h>
/*
 * function:创建    
 * @param [ in] 
 * @param [out] 
 * @return      
 */

Lq_lf* creat_linkequeue(){
    Linkequeue* lq = (Linkequeue*)malloc(sizeof(Linkequeue));
    if(NULL == lq){
        printf("创建失败\n");
        return NULL;
    }
    lq->data.len = 0;
    lq->next = NULL;

    Lq_lf* lf = (Lq_lf*)malloc(sizeof(Lq_lf));
    lf->last = lq;
    lf->first = lq;
}

/*
 * function:入队    
 * @param [ in] 
 * @param [out] 
 * @return      
 */

void insert_linkequeue(Lq_lf* lf,datatype data){
    Linkequeue* lq = (Linkequeue*)malloc(sizeof(Linkequeue));
    if(NULL == lq){
        printf("入队失败\n");
        return ;
    }
    lq->data.text = data;
    lq->next = NULL;
    
    lf->last->next= lq;
    lf->last = lf->last->next;
    lf->first->data.len++;
    return;
}
/*
 * function:出队    
 * @param [ in] 
 * @param [out] 
 * @return      
 */

datatype output_linkequeue(Lq_lf* lf){
    if(lf->last->next == lf->first->next){
        printf("队列为空\n");
        return -1;
    }
    Linkequeue* head = lf->first->next->next;
    Linkequeue* l = lf->first->next;
    datatype data = lf->first->next->data.text;
    lf->first->next = head;
    free(l);
    lf->first->data.len--;

    return data;
}

/*
 * function:遍历队列    
 * @param [ in] 
 * @param [out] 
 * @return      
 */

void show_linkequeue(Lq_lf* lf){
    Linkequeue* lq = lf->first;
    while(lq->next != NULL){
        lq = lq->next;
        printf("%d\t",lq->data.text);
    }
    printf("\n");

}

二、栈链实现十进制对二进制的转换并存储
  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PowerISO 4.7 是一款兼容 Windows 操作系统的光盘映像文件处理软件。它具有多种功能和特点,使它成为用户首选的软件。首先,PowerISO 4.7 可以创建、编辑、提取和转换各种光盘映像文件,如 ISO、BIN、NRG 等。这意味着用户可以方便地从光盘上提取数据、处理光盘映像文件中的信息,而无需将光盘插入到计算机上。 此外,PowerISO 4.7 还提供了虚拟光驱的功能。用户可以创建多个虚拟光驱,并将光盘映像文件加载到这些虚拟光驱中。这减少了使用实体光驱的需求,节省了计算机上的空间,并提高了光盘映像文件的访问速度。 除此之外,PowerISO 4.7 还具有刻录功能。用户可以使用此软件将光盘映像文件刻录到 CD、DVD 或蓝光光盘上。经过良好的刻录质量保证,刻录完成的光盘可以在各种光驱设备上正常播放和使用。 另一个重要的功能是 PowerISO 4.7 可以创建可启动的 USB 光驱。用户可以使用此功能将操作系统的安装文件写入至 USB 设备上,并从 USB 设备上启动计算机进行安装,这对于没有光驱的计算机非常有用。 总的来说,PowerISO 4.7 是一款功能全面、易于使用且稳定的软件。它的光盘映像文件处理和虚拟光驱功能使用户可以方便地操作光盘映像文件,而刻录和创建可启动 USB 光驱的功能则进一步提升了用户的使用体验。无论是个人用户还是商业用户,都可以从 PowerISO 4.7 中受益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值