|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
using namespace std;
#include"time.h"
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 20
typedef int Status;
typedef int ElemType;
Status visit(ElemType c)
{
cout << c << " ";
return OK;
}
typedef struct Node
{
ElemType data;
struct Node* next;
}Node;
typedef struct Node* LinkList;
Status InitList(LinkList *L)
{
*L = new Node;
if (!(*L))
{
return ERROR;
}
(*L)->next = NULL;
return OK;
}
Status ListEmpty(LinkList L)
{
if (L->next)
{
return FALSE;
}
else
{
return TRUE;
}
}
Status ClearList(LinkList *L)
{
LinkList p, q;
p = (*L)->next;
while (p)
{
q = p->next;
delete (p);
p = q;
}
(*L)->next = NULL;
}
int ListLength(LinkList L)
{
int i = 0;
LinkList p = L->next;
while (p)
{
i++;
p = p->next;
}
return i;
}
对于函数int ListLength(LinkList L)
{
int i = 0;
LinkList p = L->next;
while (p)
{
i++;
p = p->next;
}
return i;
}
一直纠结i++,是否是先执行while循环判断以后,让p=p->next,再让i+1?
只要没有值引用,++ i 与 i ++ 是一个意思,可以随意乱写
- a = i ++ ;
- a = ++ i ;
- printf("%d\n" , i ++) ;
- printf("%d\n" , ++ i) ;
复制代码
只有类似这种时候的 i ++ 和 ++ i 才不可以乱写。
|
|