#include <iostream>
#include <malloc.h>
using namespace std;
typedef struct student
{
int data;
struct student *next;
} node;
//带头节点
node *create(){
node *head, *p, *s;
int x, cycle=1;
head = (node *)malloc(sizeof(node));
p=head;
while(cycle){
printf("please input the data(0 is end):");
scanf("%d",&x);
if(x!=0){
s= (node *)malloc(sizeof(node));
s->data=x;
s->next=NULL;
printf("%d\n",s->data);
p->next=s;
p=s;
}
else
cycle=0;
}
return head;
}
int length(node* head) {
int counter=0;
head = head->next;
while (head!=NULL){
counter++;
head=head->next;
}
return counter;
}
void print(node *head){
head = head->next;
while (head!=NULL){
printf("%d ", head->data);
head = head->next;
}
printf("\n");
}
int main()
{
node *head;
head = create();
printf("the length of list:%d \n" , length(head));
print(head);
return 0;
}
c实现带表头的单链表的创建、测长及打印
最新推荐文章于 2021-09-17 23:59:51 发布