Compartilhar aprendizagem estrutura de dados
Eu sou um calouro, recentemente estruturas de dados de auto-estudo, escrever seu próprio blog supervisionado os resultados da aprendizagem, por isso, com o coração pesado que eu comecei a escrever blog. Apenas começou não muito bom em usar este compilador, por favor antecessores pesos pesados também incluem um monte, um monte de orientação.
Começamos a participação da lista, em primeiro lugar, é para criar listas.
1. Crie uma lista de
Homem de poucas palavras disse antes do código.
struct list//链表的结构体
{
int num;
struct list*next;
};
struct list*create(int n)//这里的n用来存储链表的长度;
{
int i;
struct list*p;
struct list*head;
p=head=(struct list*)malloc(sizeof(struct list));//首先创键head节点,p节点。
for(i=0;i<n;i++)//循环用来输入数据
{
struct list*s=(struct list*)malloc(sizeof(struct list));/*一个临时节点s*/
s->num=i;//我们这里为了方便,直接将i的值赋值给节点,在实际的创建中,可以在这里用scanf输入数据
p->next=s;//将p连接上s
p=s;//然后p再到s上
}
p->next=NULL;//链表创建结束,将最后一个节点的next设为NULL
head=head->next;//因为我们的head节点没有值,并不是头,我们要把head指向头,也就是head下一个;
return head;//返回头指针
}
O seguinte código de teste para o
#include<stdio.h>
#include<stdlib.h>
struct Node
{
int data;
struct Node *next;
};
struct Node *create(int n)
{
int i;
struct Node* head;
struct Node*p;
p=head=(struct Node *)malloc(sizeof(struct Node));
for(i=0;i<n;i++)
{
struct Node*s=(struct Node *)malloc(sizeof(struct Node));
s->data=i;
p->next=s;
p=s;
}//
p->next=NULL;
head=head->next;
printf("ok");
return head;
}//
int main()
{
int n;
struct Node *head;
printf("输入节点的个数:");
scanf("%d",&n);
head=create(n);
system("pause");
return 0;
}
A fim de criar uma função para detectar se nós finalmente criar o corpo da função acrescentou um printf ( "ok"); declarações para determinar se a função é executada com sucesso