亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

【備戰春招】第13天 嵌入式工程師學習筆記

標簽:
C C++ 嵌入式

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

课程信息

课程内容概述

1. 简介

本节介绍了C语言中的顺序表之判空、删除。

2. 删除操作图形示例

图片描述

3. 代码示例

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX 3
struct student
{
    char name[20];
    int id;
    int age;
};
typedef struct student datatype_t;
typedef struct
{
    datatype_t num[MAX];
    int n;
}seqlist_t;
seqlist_t * creat_seqlist()
{
    seqlist_t *l=NULL;
    l=(seqlist_t *)malloc(sizeof(seqlist_t));
    if(NULL==l)
    {
        printf("malloc is failed\n");
        return NULL;
    }
    memset(l,0,sizeof(seqlist_t));
    return l;
}
int full_list(seqlist_t *l)
{
    return l->n==MAX?1:0;
}
int empty_list(seqlist_t*l)
{
    return l->n==0?1:0;
}
int delete_list(seqlist_t*l,int id)
{
    if(empty_list(l))
    {
        return -2;
    }
    int i,j=0;
    for(i=0;i<l->n;i++)
    {
        if(l->num[i].id!=id)
        {
            l->num[j]=l->num[i];
            j++;
        }
    }
    l->n=j;
    if(i==j)
    {
        return -1;
    }else{
        printf("delete %d is successful!\n",id);
    }
}
void insert_seqlist(seqlist_t *l,datatype_t data)
{
    strcpy(l->num[l->n].name,data.name);
    l->num[l->n].id=data.id;
    l->num[l->n].age=data.age;
    l->n++;
}
void printf_list(seqlist_t *l)
{
    for(int i=0;i<l->n;i++)
    {
        printf("%s\t%d\t%d\n",l->num[i].name,l->num[i].id,l->num[i].age);
    }
}

int main()
{
    seqlist_t *l=NULL;
    l=creat_seqlist();
    datatype_t data;
    printf("please input tree data:");
    while(!full_list(l))
    {
        scanf("%s%d%d",data.name,&data.id,&data.age);
        insert_seqlist(l,data);
    }
    int ret;
    printf("next step: delete one data, please input one data:");
    scanf("%d",&data.id);
    ret=delete_list(l,data.id);
    if(ret<0)
    {
        printf("no data or the num is empty!\n");
        return -1;
    } else {
        printf_list(l);
        free(l);
        l=NULL;
        return 0;
    }
}

运行结果

please input tree data:张三 1 23 李四 2 24 王五 3 25
next step: delete one data, please input one data:李四 2 24
delete 3 is successful!
张三    1       23
李四    2       24

学习心得

C语言中的数据结构,实践练习了顺序表之判空、删除,感觉很有收获。

课程截图

1. 示例

图片描述

點擊查看更多內容
TA 點贊

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

評論

作者其他優質文章

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

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消