64,646
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define NULL 0
#define LEN sizeof(struct LNode)
typedef int Status;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
int main()
{
void PrintList_L(LinkList &L,int n) ;//mark
void CreateList_L(LinkList &L,int n);//mark
struct LNode *p;
printf("\n\n1.构建一个线性表 2.插入一个元素3.删除一个元素4.结束程序\n");
int demand;
do
{
cout <<"选择一个功能[1,2,3,4]" <<endl;
cin>>demand;
switch(demand)
{
case 1:
{
int n;
printf("输入线性表的个数\n");
cin>>n;
CreateList_L(p,n);
PrintList_L(p,n);
}break;
case 2:
{
}break;
case 3:
{
}break;
case 4:exit(0);
}
}while(demand <=4);
system("pause");
return 0;
}
void CreateList_L(LinkList &L,int n)
{
int i;
LinkList p,q;
L=(LinkList)malloc(LEN); /*生成头结点*/
p=(LinkList)malloc(LEN); /*生成第一个结点,并将头节点的next域指向第一个结点*/
L->next=p;
cin>>(*p).data; //mark;
for(i=1;i <n;i++)
{
q=(LinkList)malloc(LEN);
p->next=q;
cin>>(*q).data;
p=q;
}
p->next = NULL; //mark
}
void PrintList_L(LinkList &L,int n)
{
LinkList plist;
plist=L->next;//L->next=plist;
int i=1;
while(plist!=NULL)
{
cout <<"mem[" <<i <<"]" <<"=" <<(*plist).data <<endl;
plist=plist->next;//plist->next=plist;
i++;
}
}