创建一个列表
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "malloc.h"
struct node
{
? ? ? intdata;
? ? ? structnode *next;
};
typedef struct node NODE;
NODE *create_linklist(int n)
{
? ? ? NODE*p,*q,*head;
? ? ? inti;
? ? ? p=(NODE*)malloc(sizeof(NODE));
? ? ? head=p;
? ? ? printf("請輸入這%d個數:",n);
? ? ? for(i=1;i<=n;i++)
? ? ? {
? ? ? ? ? ? ?q=(NODE*)malloc(sizeof(NODE));
? ? ? ? ? ? ?p->next=q;
scanf("%d",&q->data);
? ? ? ? ? ? ?p=q;
? ? ? }
? ?printf("\n列表創建成功:"); ? ? ?
? ?p=head;
? ? ? for(i=1;i<=n;i++)
? ? ? {
? ? ? ? ? ? ?q=p->next;
? ? ? ? ? ? ?p=q;
? ? ? ? ? ? ?printf("%d",q->data);
}
? ? ? return(head);
}
NODE insert(NODE *head,int k,int l,int n)
{
? ? ? NODE*s,*p,*q;
? ? ? inti;
? ? ? s=(NODE*)malloc(sizeof(NODE));
? ? ? s->data=l;
? ? ? p=head;
? ? ? for(i=1;i<=k;i++)
? ? ? {
? ? ? ? ? ? ?q=p->next;
? ? ? ? ? ? ?p=q;
? ? ? }
? ? ? s->next=p->next;
? ? ? p->next=s;
? printf("\n數據插入成功:"); ? ? ?
? p=head;
? ? ? for(i=1;i<=n+1;i++)
? ? ? {
? ? ? ? ? ? ?q=p->next;
? ? ? ? ? ? ?p=q;
? ? ? ? ? ? ?printf("%d",q->data);
? ? ? }
}
main()
{
? int n,k,l;
? NODE *head;
? printf("\n你要創建多少個數的列表:");
? scanf("%d",&n);
? head=create_linklist(n);
? printf("\n你要插入在第幾個數后面:");
? scanf("%d",&k);
? printf("\n你要插入的數是:");
? scanf("%d",&l);
? insert(head,k,l,n);
}
轉載于:https://blog.51cto.com/liaosy/1214226
總結
- 上一篇: c++ memcpy与strcpy的比较
- 下一篇: [Android]关于IntentSer