- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在C语言中,我使用队列(链表)编写了这个用于级别顺序插入的程序,但它有时会崩溃,否则会按预期工作。我使用队列来管理级别排序。我已经在 Dev C++ 和 Borland 5.5 上运行了这个程序,两者都有相同的结果。
#include<stdlib.h>
#include<stdio.h>
typedef struct ListNode
{
struct TreeStructure *node;
struct Listnode *next;
}*List;
typedef struct ListQueue
{
struct ListNode *rear;
struct ListNode *front;
}*Queue;
typedef struct TreeStructure
{
int data;
struct TreeStructure *left;
struct TreeStructure *right;
}*Tree;
Queue Creation()
{
List tmp;
Queue Q=(Queue)malloc(sizeof(struct ListQueue));
if(!Q)
return NULL;
tmp=(List)malloc(sizeof(struct ListNode));
Q->rear=Q->front=NULL;
return Q;
}
int isEmpty(Queue Q)
{
return Q->front==NULL;
}
void Enqueue(Queue Q ,Tree Root )
{
List tmp;
tmp=(List)malloc(sizeof(struct ListNode));
if(!tmp) {
printf("\nMemory error");
return;
}
tmp->node=Root;
tmp->next=NULL;
if(!Q->rear)
Q->rear=tmp;
else
{
Q->rear->next=(List)tmp; // only warning here
Q->rear=tmp;
}
if(!Q->front)
Q->front=Q->rear;
}
Tree Dequeue(Queue Q)
{
Tree node;
List tmp;
if(isEmpty(Q))
printf("\nUnderflow");
else
{
tmp=Q->front;
Q->front=(List)Q->front->next;
node=tmp->node;
free(tmp);
return node;
}
}
void DeleteQueue(Queue Q)
{
Queue tmp;
while((Q->front!=NULL)&&(Q->front!=Q->rear))
{
tmp=(Queue)Q->front;
Q->front=(List)Q->front->next;
free(tmp);
}
if(Q->rear)
free(Q->rear);
if(Q->front)
free(Q->front);
Q->rear=Q->front=NULL;
}
// Tree Insertion
Tree Insertion(Tree Root,int data)
{
Tree tmp,newnode,ptr;
Queue Q;
ptr=Root;
newnode=(Tree)malloc(sizeof(struct TreeStructure));
if(!newnode) {
printf("\nMemory Error");
exit(1);
}
newnode->data=data;
newnode->left=newnode->right=NULL;
if(!Root)
return newnode;
Q=Creation();
Enqueue(Q,Root);
printf("\nInside Happy");
while(!isEmpty(Q))
{
Root=Dequeue(Q);
if(Root->left)
Enqueue(Q,Root->left);
else
{
Root->left=newnode;
DeleteQueue(Q);
return ptr;
}
if(Root->right)
Enqueue(Q,Root->right);
else
{
Root->right=newnode;
DeleteQueue(Q);
return ptr;
}
}
DeleteQueue(Q);
}
void Preorder(Tree Root)
{
if(Root)
{
printf("\n Element is %d",Root->data);
Preorder(Root->left);
Preorder(Root->right);
}
}
int main()
{
int i;
Tree p,Root=NULL;
for(i=0;i<10000;i++)
{
Root=Insertion(Root,i+98);
}
printf("\nInsertion finished");
Preorder(Root);
getch();
}
最佳答案
您的系统内存分配可能有问题,您可以尝试其他编译器或仔细检查代码。
关于c - 使用队列插入关卡顺序的程序有时会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15018293/
我有一段代码看起来像这样: void update_clock(uint8_t *time_array) { time_t time = *((time_t *) &time_array[0]
应用程序崩溃了 :( 请帮助我.. 在这方面失败了。我找不到错误?该应用程序可以连接到 iTunesConnect 但它会出错。 谁能根据下面的崩溃报告判断问题出在哪里? share_with_app
小二是新来的实习生,作为技术 leader,我给他安排了一个非常简单的练手任务,把前端 markdown 编辑器里上传的图片保存到服务器端,结果他真的就把图片直接保存到了服务器上,这下可把我气坏了,就
我正在创建一个函数,它将目录路径作为参数传递,或者如果它留空,则提示用户输入。 我已经设置了我的 PATH_MAX=100 和 if 语句来检查 if ((strlen(folder path) +
我已将“arial.ttf”文件(从我的/Windows/Fonts 文件夹中获取)加载到内存中,但是将其传递到 FT_New_Memory_Face 时会崩溃(在 FT_Open_Face 中的某处
我正在尝试在我的计算机上的两个控制台之间进行 rtsp 流。 在控制台 1 上,我有: ffmpeg -rtbufsize 100M -re -f dshow -s 320x240 -i video=
我正在尝试使用 scio_beast在一个项目中。我知道它还没有完成,但这并不重要。我已经设法让它工作得很好。 我现在正在尝试连接到 CloudFlare 后面的服务器,我知道我需要 SNI 才能工作
我有一个带有关联宏的下拉列表,如下所示: Sub Drop() If Range("Hidden1!A1") = "1" Then Sheets("Sheet1").Se
我对 bash 很陌生。我要做的就是运行这个nvvp -vm /usr/lib64/jvm/jre-1.8.0/bin/java无需记住最后的路径。我认为 instafix 就是这样做...... n
我在 Windows 上使用 XAMPP 已经两年左右了,它运行完美,没有崩溃没有问题。 (直到四个月前。) 大约四个月前,我们将服务器/系统升级到了更快的规范。 这是旧规范的内容 - Windows
我面临着一个非常烦人的 android 崩溃,它发生在大约 1% 的 PRODUCTION session 中,应用程序始终在后台运行。 Fatal Exception: android.app.Re
尝试使用下面的函数: public void createObjectType() { try { mCloudDB.createObjectType(ObjectTypeIn
由于我正在进行的一个项目,我在 CF11 管理员中弄乱了类路径,我设法使服务器崩溃,以至于我唯一得到的是一个漂亮的蓝屏和 500 错误.我已经检查了日志,我会把我能做的贴在帖子的底部,但我希望有人会启
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 10 个月前关闭。 Improve
我最近从 xcode 3.x 更新到 4.2,当我在 4.2 中运行应用程序时,我遇到了核心数据问题。我还更新到了 iOS 5,所以问题可能就在那里,我不太确定。 这些应用程序在 3.x 中运行良好,
我是一个相对较新的 iPhone 应用程序开发人员,所以我的知识有点粗略,所以如果这是一个微不足道的问题,请原谅我。 我有一个导航应用程序,它通过在navigationController对象上调用p
if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *mailViewController
你能帮我吗? 我正在设置 UILocalNotification,当我尝试设置其 userInfo 字典时,它崩溃了。 fetchedObjects 包含 88 个对象。 这是代码: NSDi
为什么我的代码中突然出现 NSFastEnumeration Mutation Handler 崩溃。我很茫然为什么会突然出现这个崩溃以及如何解决它。 最佳答案 崩溃错误: **** 由于未捕获的异常
当我从表中删除行时,我的应用程序崩溃了。这是我检测到错误和堆栈跟踪的来源。谢谢! //delete row from database - (void)tableView:(UITableView *
我是一名优秀的程序员,十分优秀!