c语言list的使用方法,c语言list操作

c语言list的使用方法,c语言list操作#includetypedefstructLnode{intdata;structLnode*next;}LND,*lnd;lndmalloclist(lndl){l=(lnd)malloc(sizeof(LND));returnl;}intinitlist(lndl,intn){l->data=n;l->next=NULL;lndp;for(…

大家好,又见面了,我是你们的朋友全栈君。

#includetypedef struct Lnode{

int data;

struct Lnode *next;

} LND, *lnd;

lnd malloclist(lnd l){

l = (lnd)malloc(sizeof(LND));

return l;

}

int initlist(lnd l, int n){

l->data = n;

l->next = NULL;

lnd p;

for(int i =n; i>0; –i){

p = (lnd)malloc(sizeof(LND));

p->data = i;

p->next = l->next;

l->next = p;

}

return 0;

}

int len_list(lnd l){

int len;

while(l){

l = l->next;

++len;

}

return len;

}

int insert_list_ele(lnd l, int n, int e){

lnd p;

p = (lnd)malloc(sizeof(LND));

p->data = e;

p->next = NULL;

while(n–){

l = l->next;

}

p->next = l->next;

l->next = p;

return 0;

}

int delete_list_ele(lnd l, int n){

lnd p,q;

while(–n){

l = l->next;

}

q = l;

p = l->next;

q->next = p->next;

free(p);

return 0;

}

//lnd empity_list(lnd l){

// lnd p;

// p = l;

// while(l){

// l = l->next;

// free(l);

// }

// return p;

//}

int print_list(lnd l){

while(l){

printf(“%d\n”, l->data);

l = l->next;

}

return 0;

}

int main(){

lnd lst;

lst = malloclist(lst);

initlist(lst, 4);

printf(“len list is %d\n”, len_list(lst));

print_list(lst);

printf(“插入数据后:\n”);

insert_list_ele(lst, 2, 89);

print_list(lst);

printf(“删除数据后\n”);

delete_list_ele(lst, 2);

print_list(lst);

//printf(“清空后数据\n”);

//lnd em = empity_list(lst);

//print_list(em);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157939.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android之Display.getRotation()_传感器控制屏幕旋转

    在看android自带的samples源码里面的AccelerometerPlayActivity时,看到下面这段代码,很不理解public void onSensorChanged(SensorEvent event) { if(event.sensor.getType() != Sensor.TYPE_ACCELEROMETER){ return; } switch (m

    2022年3月10日
    55
  • idea大小写切换快捷键 idea大小写转换快捷键[通俗易懂]

    idea大小写切换快捷键 idea大小写转换快捷键[通俗易懂]ctr+shift+u

    2025年8月20日
    17
  • iphonex适配游戏_Unity+iPhoneX适配方案[通俗易懂]

    作者:范世青王天宇17年下半年,苹果传出新一代iPhone的消息——iPhoneX。随之而来的还有他不同于以往任意一代iPhone的刘海设计。一时间,iPhoneX的适配问题迅速在产品圈流传开。而作为一个线上手游的客户端工程师,我在和团队共同历经了为iPhoneX适配的艰难岁月后,终于在产品上市之日,获得了商店首批适配推荐。那么iPhoneX适配到底有什么需要注意的点,又应该采取什么方案呢?&…

    2022年4月7日
    60
  • CSS设置超链接样式常用

    CSS设置超链接样式常用伪类名称 含义 示例 a:link 未单击访问时超链接样式 a:link{color:#9ef5f9;} a:visited 单击访问后超链接样式 a:visited{color:#333;} a:hover 鼠标悬浮其上的超链接样式 a:hover{color:#…

    2022年7月19日
    14
  • 牛客网–采药(01背包)

    牛客网–采药(01背包)

    2021年5月19日
    124
  • 激光SLAM原理_激光打标机

    激光SLAM原理_激光打标机在机器人运动控制系统架构中,可分为最底层、中间通信层和决策层三大层面,最底层包含了机器人本身的电机驱动和控制部分,中间通信层是底层部分和决策层的通信通路,而决策层则是实现机器人的定位建图及导航。在机器人定位导航中,目前主要涉及到激光SLAM与视觉SLAM,激光SLAM在理论、技术和产品落地上都较为成熟,因而成为现下最为主流的定位导航方式,在家用扫地机器人及商用送餐机器人等服务机器人中普遍采用了…

    2022年8月23日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号