第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

【備戰(zhàn)春招】第16天 嵌入式工程師學(xué)習(xí)筆記

標(biāo)簽:
C C++ 嵌入式

【备战春招】第16天 嵌入式工程师学习笔记

课程信息

课程内容概述

1. 简介

本节介绍了C语言中的单向链表之判空,删除。

2. 链表图形操作

  • 创建

图片描述

  • 插入

    • 头插法:每次都在头结点head后插入temp结点。

    图片描述

    • 尾插法: 每次都在尾结点后插入temp结点

图片描述

- 有序插入:按照指定顺序插入

图片描述

3. 代码示例

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

typedef int datatype_t;

typedef struct node {
    int data;
    struct node *next;
} linknode_t;

// 创建
linknode_t *create_empty_linklist() {
    linknode_t *head = malloc(sizeof(linknode_t));
    if (NULL == head) {
        printf("malloc fail!\n");
        return NULL;
    }
    memset(head, 0, sizeof(linknode_t));
    return head;
}

// 头插法
void insert_head_linklist(linknode_t *head, datatype_t data) {
    if (NULL == head) {
        printf("head is NULL point!\n");
        return;
    }
    linknode_t *temp = malloc(sizeof(linknode_t));
    if (NULL == temp) {
        printf("malloc fail!\n");
        return;
    }
    temp->data = data;
    temp->next = head->next;
    head->next = temp;
    return;
}

// 尾插法
void insert_tail_linklist(linknode_t *head, datatype_t data) {
    if (NULL == head) {
        printf("head is NULL point!\n");
        return;
    }
    linknode_t *temp = malloc(sizeof(linknode_t));
    if (NULL == temp) {
        printf("malloc fail!\n");
        return;
    }
    temp->data = data;
    linknode_t *p = head;
    while (p->next != NULL) {
        p = p->next;
    }
    temp->next = p->next;
    p->next = temp;
    return;
}

// 有序插入  大到小的顺序
void insert_order_linklist(linknode_t *head, datatype_t data) {
    if (NULL == head) {
        printf("head is NULL point!\n");
        return;
    }
    linknode_t *temp = malloc(sizeof(linknode_t));
    if (NULL == temp) {
        printf("malloc fail!\n");
        return;
    }
    temp->data = data;
    linknode_t *p = head;
    while (p->next != NULL && temp->data < p->next->data) {
        p = p->next;
    }
    temp->next = p->next;
    p->next = temp;
    return;

}

// 输出
void printf_data_linklist(linknode_t *head) {
    if (NULL == head) {
        printf("head is NULL point!\n");
        return;
    }
    linknode_t *p = head;
    while (p->next != NULL) {
        printf("%d ", p->next->data);
        p = p->next;
    }
    printf("\n");
    return;
}

int main() {
    linknode_t *head = NULL;
    int n = 5;
    datatype_t data[5] = {1, 5, 3, 7, 9};
    head = create_empty_linklist();

    // printf("Please input five number: \n");
    for (int i = 0; i < 5; i++) {
        insert_order_linklist(head, data[i]);
    }
    printf_data_linklist(head);

    return 0;
}

运行结果

9 7 5 3 1

学习心得

C语言中的数据结构,实践练习了单向链表之创建,插入,输出,感觉很有收获。

课程截图

1. 示例

图片描述

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消