// 单链表的建立测长打印.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#pragma warning(disable:4996)
using namespace std;
typedef struct List{
int val;
List *next;
List(int x) :val(x), next(NULL){};
};
List *createList(){//创建单链表
List *head, *p, *s;
int cycle = 1,x;
head = (List *)malloc(sizeof(List));
p = head;
while (cycle){
printf("Please input the data:");
scanf("%d",&x);
if (x != 0){
s = (List *)malloc(sizeof(List));
s->val = x;
p->next = s;
p = s;
}
else
cycle = 0;
}
head = head->next;
p->next = NULL;
return(head);
}
int lengthOfList(List *head){//测长
if (head == NULL){
return 0;
}
int len = 0;
List *p = head;
while (p){
len++;
p = p->next;
}
return len;
}
void printList(List *head){//打印
List *p = head;
while (p){
cout << p->val << "->";
p = p->next;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
List *head;
head=createList();
int l=lengthOfList(head);
cout << "长度为:" << l << endl;
printList(head);
return 0;
}
单链表的创建/测长/打印
最新推荐文章于 2019-06-28 09:42:15 发布