线性表创建(最基础)

线性表:是最基本、最简单、也是最常用的一种数据结构。

前提:在学习数据结构的时候命名不要使用拼音!这是初学者的经常犯得错误。

顺序表的创建

#include<stdio.h>
#define N 10
typedef int SLDataType;
typedef struct//创建顺序表
{
    
    
    SLDataType array[N];
    int size;
}SeqList;
void SeqListInit(SeqList &L)//输入顺序表的值
{
    
    
    int i,n;
    scanf("%d",&n);
    L.size=n;
    printf("输入数据:");
    for(i=0;i<n;i++)
    {
    
    
        scanf("%d",&L.array[i]);
    }
}
void SeqListDestory(SeqList L)//打印顺序表的值
{
    
    
    int i=0;
    printf("输出数据:");
    for(i=0;i<L.size;i++)
    {
    
    
        printf("%d ",L.array[i]);
    }
}
int main()
{
    
    
    SeqList L;
    SeqListInit (L);
    SeqListDestory(L);
    return 0;
}

运行结果:
在这里插入图片描述

单链表的创建

#include<stdio.h>
#include<stdlib.h>
#define N 10
typedef int SLTDateType;
typedef struct Node
{
    
    
    SLTDateType date;
    struct Node *next;
}Node,*LinkList;
SLTDateType LinkList_Init(LinkList &L)
{
    
    
    L=(LinkList)malloc(sizeof(Node));
    if(L==NULL)
        exit(-1);
    L->next=NULL;
    return 1;
}
void LinkList_createR(LinkList L,int n)
{
    
    
    int i;
    Node *p,*r;
    r=L;
    printf("输入%d个数据: ",n);
    for(i=0;i<n;i++)
    {
    
    
        p=(LinkList)malloc(sizeof(Node));
        scanf("%d",&p->date);
        p->next=NULL;
        r->next=p;
        r=p;
    }
}
void LinkList_print(LinkList L)
{
    
    
   Node *p;
   p=L->next;
   while(p)
   {
    
    
       printf("%d ",p->date);
       p=p->next;
   }
   printf("\n");
}
int main()
{
    
    
    LinkList L;
    int i;
    int n=N;
    //初始化单链表
    LinkList_Init(L);
    //
    LinkList_createR(L,N);
    //输出单链表中的元素
    printf("单链表中的元素");
    LinkList_print(L);
    return 0;
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_52988578/article/details/115255699
今日推荐