當前位置:編程學習大全網 - 編程軟體 - C語言編程:26個英文字母建立單鏈表,可插入刪除查找和求長度

C語言編程:26個英文字母建立單鏈表,可插入刪除查找和求長度

#include<stdio.h>

#include<malloc.h>

typedef struct LNode

{char character;

struct LNode*next;

}LNode,*PLNode;

PLNode CreateList()/*創建單鏈表*/

{PLNode P,head,q;

int i;

head=(PLNode)malloc(sizeof(LNode));

p=head;

p->next=NULL;

for(i=0;i<26;i++)

{q=(PLNode)malloc(sizeof(LNode));

q->character='a'+i;

q->next=NULL;

p->next=q;

p=q;

}

return PLNode;

}

int Length(PLNode head)/*求長度*/

{int n=0;

PLNode p;

p=head->next;

while(p)

{n++;

p=p->next;

}

return n;

}

voie Insert(PLNode head,int position,char chr)/*插入到第i的位置*/

{int i;

PNLode p,q;

if(Length(head)+1<position)

{printf("妳要插入的位置不存在!");

exit(0);

}

else

{p=head;

i=0;

while(i<position-1)

{p=p->next;

i++;

}

q=(PLNode)malloc(sizeof(LNode));

q->character=chr;

q->next=p->next;

p->next=q;

}

}

void Delete(PLNode head,int n)/*刪除第n個位置的接點*/

{int i;

PNLode p,q;

if(Length(head)+1<position)

{printf("妳要插入的位置不存在!");

exit(0);

}

else

{p=head;

i=0;

while(i<n-1)

{p=p->next;

i++;

}

p->next=p->next->next;

}

}

  • 上一篇:家長該如何選擇少兒編程和機器人編程
  • 下一篇:2015內圓磨床之城為什麽往右下方對 對不好換砂輪就邊角度
  • copyright 2024編程學習大全網