c语言起初,请问c 语言的单链表 index是从零开始,还是一开始?

a2d721cf285207acbf794b18889e4570.png

慕斯709654

#include"stdafx.h"#include<stdlib.h>//创建一个节点,data为value,指向NULLNode*Create(intvalue){Node*head=(Node*)malloc(sizeof(Node));head->data=value;head->next=NULL;returnhead;}//销毁链表boolDestroy_List(Node*head){Node*temp;while(head){temp=head->next;free(head);head=temp;}head=NULL;returntrue;}//表后添加一个节点,Create(value)boolAppend(Node*head,intvalue){Node*n=Create(value);Node*temp=head;while(temp->next){temp=temp->next;}temp->next=n;return0;}//打印链表voidPrint_List(Node*head){Node*temp=head->next;while(temp){printf("%d->",temp->data);temp=temp->next;}printf("\n");}//在链表的第locate个节点后(头节点为0)插入创建的节点Create(value)boolInsert_List(Node*head,intlocate,intvalue){Node*temp=head;Node*p;Node*n=Create(value);if(locate<0)returnfalse;while(locate--){if(temp->next==NULL){temp->next=Create(value);returntrue;}temp=temp->next;}p=temp->next;temp->next=n;n->next=p;returntrue;}//删除第locate个节点后(头节点为0)的节点boolDelete_List(Node*head,intlocate){Node*temp=head;Node*p;if(locate<0)returnfalse;while(locate--){if(temp==NULL){returnfalse;}temp=temp->next;}p=temp->next->next;free(temp->next);temp->next=NULL;temp->next=p;returntrue;}//获取链表长度(不包括头节点)intSize_List(Node*head){Node*temp=head;intsize=0;while(temp->next){temp=temp->next;size++;}returnsize;}//链表的三种排序(选择,插入,冒泡)boolSort_List(Node*head){intt=0;intsize=Size_List(head);//选择排序/*for(Node*temp=head->next;temp!=NULL;temp=temp->next){for(Node*p=temp;p!=NULL;p=p->next){if(temp->data>p->data){printf("换%d和%d\n",temp->data,p->data);t=temp->data;temp->data=p->data;p->data=t;}}}*///插入排序/*for(Node*temp=head->next->next;temp!=NULL;temp=temp->next){for(Node*p=head;p->next!=NULL;p=p->next){if(p->next->data>temp->data){printf("换%d和%d\n",temp->data,p->next->data);t=temp->data;temp->data=p->next->data;p->next->data=t;}}}*///冒泡排序for(Node*temp=head->next;temp->next!=NULL;temp=temp->next){for(Node*p=head->next;p->next!=NULL;p=p->next){if(p->data>p->next->data){t=p->data;p->data=p->next->data;p->next->data=t;}}}return0;}扩展资料:return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值