求助,本人是在不会了。链表的某几个操作。
#include <stdio.h>#include <iostream>
#include <string.h>
#include <math.h>
#include <vector>
#include <queue>
#include <stack>
#include <stdlib.h>
#include<malloc.h>
#include <algorithm>
using namespace std;
typedef int ElemType;
typedef struct Lnode
{
ElemType data;
struct Lnode *next;
} LNode,*LinkList;
LinkList GreatLinkList() //建立链表并输出
{
LinkList p,head,t;
int n;
head = (LinkList)malloc(sizeof(Lnode));
if(!head)
return 0;
scanf("%d",&n);
p = head;
for(int i=0;i<n;i++)
{ int e;
scanf("%d",&e);
t = (LinkList)malloc(sizeof(Lnode));
t->data = e;
p->next = t;
p = t;
}
p->next = NULL;
for(int i=0;i < n;i++)
{
if(i == 1)
printf("%d",t->data);
else
printf("%01d",t->data);
t = t->next;
}
printf("\n");
return 0;
}
void nizhi(LinkList &l) //英语不好,直接写汉语拼音
{
LinkList p,t;
p = l->next;
/* if(!p)
p = NULL; */
l->next = NULL;
while(p)
{
t = p;
p = p->next;
t->next = l->next;
l->next = t;
}
p = l->next;
while(p)
{
printf("%d",p->data);
p = p->next;
}
printf("\n");
}
void GetLength(LinkList &l) //输出长度
{
LinkList p;
p = l->next;
int t=0;
while(p)
{
t++;
p = p->next;
}
printf("%d\n",t);
}
int main()
{
LinkList l,q,s,t;
int e,n;
q=l=GreatLinkList(); //将节点赋给q,l;
GetLength(l);
// LinkList GreatLinkList();
// nizhi(l);
return 0;
}