117.info
人生若只如初见

c语言单链表程序代码怎么写

以下是一个简单的C语言单链表的程序代码示例:

#include 
#include 

// 定义链表节点结构体
struct Node {
    int data;
    struct Node* next;
};

// 在链表末尾插入新节点
void insertAtEnd(struct Node** head, int data) {
    // 创建新节点
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = https://www.yisu.com/ask/data;>next = NULL;

    // 如果链表为空,则新节点为头节点
    if (*head == NULL) {
        *head = newNode;
    }
    else {
        // 找到链表末尾并插入新节点
        struct Node* current = *head;
        while (current->next != NULL) {
            current = current->next;
        }
        current->next = newNode;
    }
}

// 打印链表
void printList(struct Node* head) {
    struct Node* current = head;
    while (current != NULL) {
        printf("%d ", current->data);
        current = current->next;
    }
    printf("\n");
}

int main() {
    struct Node* head = NULL;

    // 依次插入节点
    insertAtEnd(&head, 1);
    insertAtEnd(&head, 2);
    insertAtEnd(&head, 3);
    insertAtEnd(&head, 4);

    // 打印链表
    printf("链表:");
    printList(head);

    return 0;
}

这个程序演示了如何创建一个单链表并插入节点。在 insertAtEnd 函数中,我们创建一个新节点并将其插入到链表的末尾。在 printList 函数中,我们遍历链表并打印节点的数据。在 main 函数中,我们创建一个空链表,然后依次插入四个节点,并最后打印整个链表。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe43bAzsLAwBWB1U.html

推荐文章

  • C语言中重载函数的方法是什么

    在C语言中,没有直接支持函数重载的特性。函数重载是C++中的一种特性,允许在同一个作用域中定义多个同名函数,但它们的参数列表必须不同。这样可以根据参数的类...

  • C语言中fseek()函数的功能有哪些

    C语言中fseek()函数的功能有: 重定位文件指针:可以将文件指针移动到文件中的任何位置。可以在文件的开头、末尾或者任何指定的位置进行定位。 设置文件指针相对...

  • c语言fwrite函数写不进数据怎么解决

    如果在使用C语言的fwrite函数时无法正确写入数据,可以尝试以下几种解决办法: 检查文件是否成功打开:在使用fwrite函数之前,确保文件以正确的方式打开。可以使...

  • c语言怎么用fgets一行一行读取文件

    使用fgets函数可以一行一行地读取文件。
    #include int main() { FILE *file = fopen("file.txt", "r"); if (file == NULL) { printf("Failed to open file....

  • java中blockingqueue的用法是什么

    BlockingQueue是一个接口,位于java.util.concurrent包中,用于将多个线程之间的数据进行同步操作。
    BlockingQueue的用法如下: 创建一个BlockingQueue对象...

  • unix编译c程序的方法是什么

    在Unix系统中,可以使用以下方法编译C程序: 打开终端,进入到C程序所在的目录。 使用文本编辑器,创建一个以.c为扩展名的源文件,例如hello.c,然后编写C程序代...

  • tomcat类加载器有哪些优点

    Tomcat类加载器有以下优点: 分级加载:Tomcat类加载器采用分级加载的方式,可以根据不同的类加载需求来加载不同的类。例如,可以将自定义的类放在应用程序级别的...

  • tuxedo怎么部署JAVA应用

    要部署JAVA应用程序,您可以按照以下步骤操作: 安装Java环境:确保您的服务器上已经安装了Java Development Kit(JDK)。您可以从Oracle官方网站下载并按照安装...