大家好,我在程序上面没有思路解答这个问题

img


大一新生,编程题对我来说很有难度,没有思路解答,可以提供一点帮助吗,谢谢大家
(上一次的解答对我有非常大的帮助)

这是一链队列代码,初始化、进队、出队等功能都有了,输出队列所有数据元素的代码留给题主试着写写,供参考:

#include <stdio.h>
#include <stdlib.h>
#include <crtdbg.h>

#define MAXSIZE 1024
#define OVERFLOW -2
#define OK 1
#define ERROR 0
typedef int QElemType;
typedef struct QNode{
    QElemType data;
    struct QNode* next;
}QNode, * QueuePtr;
typedef struct
{
    QueuePtr front;//队头指针
    QueuePtr rear; //队尾指针
}LinkQueue;

void InitQueue(LinkQueue& Q)//构造一个队列
{
    Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));
    if (!Q.front) exit(OVERFLOW);
    Q.front->next = Q.rear->next = NULL;
    return;
}

void EnQueue(LinkQueue& Q, QElemType e)// 进队函数
{
    QNode* p;
    p = (QueuePtr)malloc(sizeof(QNode));
    if (!p) exit(OVERFLOW);
    p->data = e;
    p->next = NULL;
    if (!Q.front->next)
        Q.front->next = p;
    else
        Q.rear->next = p;
    Q.rear = p;
    return;
}

void DeQueue(LinkQueue& Q, QElemType &e)// 出队函数
{
    if (!Q.front->next) {
        e = -999;
        return;
    }
    QueuePtr p = Q.front->next;
    e = p->data;
    Q.front->next = p->next;
    free(p);
    return;
}
 
void DestroyQueue(LinkQueue& Q)//销毁队列
{
    while (Q.front)
    {
        Q.rear = Q.front->next;
        free(Q.front);
        Q.front = Q.rear;
    }
    return;
}
 
int main()
{
    int e;
    LinkQueue Q;

    InitQueue(Q);

    EnQueue(Q, 8);
    EnQueue(Q, 10);
 
    DeQueue(Q, e);
    printf("%d\n", e);
 
    DeQueue(Q, e);
    printf("%d\n", e);
 
    DeQueue(Q, e);
    printf("%d\n", e);
 
    DestroyQueue(Q);
    return 0;
}

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7396011
  • 你也可以参考下这篇文章:输入3个正整数,按由大到小的顺序输出,要求使用指针实现
  • 除此之外, 这篇博客: 你不知道的几种素数判断方法,由浅入深,详解。(附送程序员必读好书)中的 送给大家!只需要关注文章底下的公众号即可获得 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •  

    我们要判断素数,首先要知道素数的定义。

    素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

    知道了素数的定义,那么我们应该想一下,如何去判断一个数是否为素数?

    一种思路是,我们在每次得到一个数后,都去计算,去尝试因式分解它,看它除了1和自身之外还有没有其他因子
    另一种是,我们去查阅素数表,看这个数在不在素数表上。那我们就要先得到素数表。

    以下除了第一种方法,第2~4种方法都是用第二种思路做的
    当要判断的目标数很少时,第一种高效。但是当给定的目标数组很多,数也很大时。后面的思路配上高效的查找算法,显然更高效


  • 您还可以看一下 CSDN讲师老师的流式计算与大数据实践分享课程中的 流式计算与大数据实践(上)小节, 巩固相关知识点

难!VS2012本身并不支持Python。沾点边说也要安装一个 IronPython。