找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2004|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

數(shù)據(jù)結(jié)構(gòu)--鏈表的相關(guān)操作

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108531 發(fā)表于 2016-3-12 16:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
鏈表的結(jié)構(gòu):數(shù)據(jù)域與指針域。
struct node
{int data;struct node * next;};
typedef struct node NODE;
1.建立鏈表:頭插法和尾插法。
尾插法:
NODE *CreateH(int n)
{NODE *head,*p*q;
int i;p=(NODE *)(new NODE);
head=p;q=p;p->next=NULL;
for(i=1;i<=n;i++)
{p=(NODE *)(new NODE);p->data=0;q->next=p;
q=p;q->next=NULL;}return(head);
}
頭插法:
NODE *CreateE(int n)
{NODE *head,*p
int i;p=(NODE *)(new NODE);
head=p;head->next=NULL;
for(i=1;i<=n;i++)
{p=(NODE *)(new NODE);
p->data=0;if(i=1) p->next=NULL;
else p->next=head->next;
head->next=p;
}return(head);
}
2.在鏈表上插入一個結(jié)點。
int Insert(NODE *head,int x,int i)
{NODE *q,*p;int j=0;q=head;
while((q!=NULL)&&(j<i-1))
{q=q->next;j++;}
if(q==NULL)return(0);
p=(NODE *)(new NODE);
p->data=x;p->next=q->next;q->next=p;
return(1)
}
3.在鏈表中刪除一個結(jié)點。
int Delete(NODE *head,int i)
{NODE *p,*q;int j=0;q=head;
while((q!=NULL)&&(j<i-1))
{q=q->next;j++;}
if(q==NULL)return(0);
p=q->next;q->next=p->next;delete p;
return(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表