/*
brief:编程实现一个单链表的建立、测长、打印
date:15-9-24
*/
#include<stdio.h>
#include "iostream"
#include <conio.h>
using namespace std;
typedef struct student
{
int data;
struct student *next;
}node;
//node *create()
node *create()
{
node *head, *p, *s;
int x = 1, cycle= 1;
head = (node *)malloc(sizeof(node));
p = head;
while(cycle)
{
printf("\n please input the data:");
scanf("%d", &x);
if(x != 0)
{
s = (node *)malloc(sizeof(node));
s->data = x;
printf("\n%d", s->data);
p->next = s;
p = s;
}
else
cycle = 0;
}
head = head->next;
p->next = NULL;
printf("\n 链表创建已经完成 \n 第一个节点是:%d", head->data);
//
return head;
}
int length(node *head)
{
int n = 0;
node *p;
p = head;
while(p != NULL)
{
n++;
p = p->next;
}
printf("该链表的长度 %d", n);
return(n);
}
void print(node *head)
{
int n = length(head);
printf("\n now there %d records are:\n", n);
node *p = head;
if(head != NULL)
{
while(p != NULL)
{
printf("数据:%d", p->data);
p = p->next;
}
}
}
void main()
{
node *sjt = create(); // 新建链表
length(sjt); // 测表长
print(sjt); // 打印
//
system("pause");
}
基础笔试题:编程实现一个单链表的建立、测长、打印
最新推荐文章于 2020-09-07 16:40:36 发布