- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写将节点插入链表末尾的代码,但它根本不起作用。它为我提供了与以前相同的链表,但没有附加任何节点。
the old list is :
9 8 7 6 5 4 3 2 1 0
the new list is :
9 8 7 6 5 4 3 2 1 0
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
//make a new type structure called node
typedef struct nodes{
int n;
struct nodes* next;
}node;
//assigning the first node of the linked list
node* head=NULL;
//append function
void append(int number){
node* tail=malloc(sizeof(node));
if(tail==NULL){
printf("unable to allocate");
exit(1);
}
tail->n=number;
tail->next=NULL;
if(head->next==NULL){
tail->next=head;
printf("added successfully");
}
else{
for(node* current=head;current->next==NULL;current=current->next){
current->next=tail;
printf("Added successfully");
break;
}
}
}
//main function
int main(int argc,char* argv[]){
//checking that the commmand is correct
if(argc!=2){
printf("Please type ./append and then type the number you want to add to the list");
}
//accept numbers in second argument
int newnumber=atoi(argv[1]);
//make the list
for(int i=0;i<10;i++){
node* newnode=malloc(sizeof(node));
//checking
if(new==NULL){
exit(1);
}
newnode->n=i;
newnode->next=head;
head=newnode;
}
//printing the old list
printf("the old list is :\n");
for(node* conductor=head;conductor!=NULL;conductor=conductor->next){
printf("%i ",conductor->n);
}
//append the number given to the start of the linked list
append(newnumber);
//printing the new list
printf("\nthe new list is :\n");
for(node* conductor=head;conductor!=NULL;conductor=conductor->next){
printf("%i ",conductor->n);
}
printf("\n");
return 0;
}
因此该功能似乎完全没有影响。我看不出错误在哪里。
最佳答案
node* tail=malloc(sizeof(node));
您创建了一个名为 tail 的新节点*。它还没有链接到任何东西。
首先,如评论中所述,如果列表为空,您的代码可能会取消引用 NULL 指针。例如,您可以在开头添加以下检查:
if(head==NULL) {
head=tail;
printf("Added successfully\n");
return;
}
现在让我们看看您的代码:
if(head->next==NULL){
tail->next=head;
printf("added successfully");
}
这里你分配了tail->next
而不是head->next
,所以你的尾部仍然不在列表中,这是一个错误。
else{
for(node* current=head;current->next==NULL;current=current->next){
current->next=tail;
printf("Added successfully");
break;
}
}
这里你的循环条件是错误的。对于初学者来说,== 可能应该是 !=。现在您的循环根本没有执行。
然后你还需要把那个循环体从循环中取出:
else {
node* current=head;
while (current->next!=NULL)
current=current->next;
current->next=tail;
printf("Added successfully");
}
但实际上这些都是非常简单的错误,您应该能够通过仔细观察来发现它们。
关于c - 在C中的链表的末尾插入节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29578179/
我正在更改链接网址以添加 www.site.com/index.html?s=234&dc=65828 我通过此代码得到的是:site.com/&dc=65828 var target="&dc=65
我在编译过程中收到错误: src/smtp.c:208:1: warning: control reaches end of non-void function [-Wreturn-type] 这是相
这是我的 bootstrap/html 代码: Put email 位置正确,但我希望输入字段的大小延伸到 div 末尾。谁能帮帮我? 最佳答案 只需按百分比指定宽度,如下所示
我正在尝试获取一个像这样的 json 对象: filters = {"filters": myArray}; 并将其附加到 URL 的末尾,使用: this.router.navigate([`/de
这个问题已经有答案了: Remove hash from url (5 个回答) 已关闭 10 年前。 我有一个网站,stepaheadresidents.com ,并且井号 (#) 会自动添加到 u
我有这个代码 $('container a').appendTo('.container'); dzedzdqdqdqzdqdzqdzqdqzdqd Forgot password
为了练习更多 Python 知识,我尝试了 pythonchallenge.com 上的挑战 简而言之,作为第一步,此挑战要求从末尾带有数字的 url 加载 html 页面。该页面包含一行文本,其中有
我对 FS2 很陌生,需要一些有关设计的帮助。我正在尝试设计一个流,它将从底层的 InputStream 中提取 block ,直到结束。这是我尝试过的: import java.io.{File,
我对 FS2 很陌生,需要一些有关设计的帮助。我正在尝试设计一个流,它将从底层的 InputStream 中提取 block ,直到结束。这是我尝试过的: import java.io.{File,
我正在编写一个 ajax 应用程序,并且在 php 脚本中有一个函数: public function expire_user() { $r=array("return"=>'OK');
我正在使用一个QListView,它包装了一个非常简单的列表模型。我想尝试实现类似于某些网页中看到的“无限滚动”的东西。 目前,模型通过最多添加 100 个项目的方法更新(它们取自外部 Web API
运行 cucumber 测试给我以下错误 end of file reached (EOFError) /usr/lib64/ruby/2.0.0/net/protocol.rb:153:in
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我想知道版本命名的具体作用是什么? 喜欢 jquery.js?ver=1.4.4 我的意思是如果我使用像这样的 cdn jquery/1.4.4/jquery.min.js?ver=1.4.4但是另一
" data-fancybox-group="gallery" title="">" alt="" /> 在此代码中 echo $prod['item_image_url'];打印存储在我的表中的图像
我目前使用 Wordpress 作为博客平台,但我想更改为使用 Jekyll 来生成静态页面。在 WordPress 上,我的 URL 使用以下格式: /年/月/日/标题 但我想将其重定向到 /年/月
根据docs这应该是不可能的 Regular expressions cannot be anchored to the beginning or end of a token 尽管如此,它似乎对我有
有没有办法创建 dijit 并将其附加到 div 的末尾?假设我有以下代码: Add Person 我在网上找到了以下代码,但这替换了我的“attendants”div: var personCo
我有这段代码: //execute post (the result will be something like {"result":1,"error":"","id":"4da775
我需要一些函数方面的帮助。 我想编写一个插入链表的函数。但不仅仅是中间,如果必须插入前端或末尾,它也必须起作用。 结构: typedef struct ranklist { i
我是一名优秀的程序员,十分优秀!