?? 單鏈表查找2.cpp
字號:
#include <stdio.h>
#include <stdlib.h>
//單鏈表的定義:
typedef char DataType; //DataType可以是任何相應的數據類型如int, float或char
typedef struct node //結點類型定義
{ DataType data; //結點的數據域
struct node *next; //結點的指針域
}ListNode;
typedef ListNode *LinkList;
void main()
{
LinkList head;
ListNode *p;
DataType key;
LinkList CreateListR1(void);
LinkList LocateNode(LinkList head,DataType key);
void PrintList(LinkList head);
head=CreateListR1(); //建立單鏈表
PrintList(head); //打印單鏈表
printf("請輸入欲查找的元素:");
scanf("%c",&key);
p=LocateNode(head,key);
if (p==NULL)
printf("未找到\n");
else
printf("找到了\n");
}
//單鏈表的建立:
LinkList CreateListR1(void)
{ char ch;
LinkList head=(ListNode *)malloc(sizeof(ListNode));
ListNode *s,*r;
r=head; //尾指針初值指向頭結點
while ((ch=getchar())!='\n')
{ s=(ListNode *)malloc(sizeof(ListNode)); //生成新結點
s->data=ch;
r->next=s;
r=s;
}
r->next=NULL;
return head; //返回頭指針
}
//單鏈表的打印:
void PrintList(LinkList head)
{
ListNode *p;
for(p=head->next;p;p=p->next)
printf("%c",p->data);
printf("\n");
}
//單鏈表的查找
LinkList LocateNode(LinkList head,DataType key)
{//在帶頭結點的單鏈表head中查找其值為key的結點
ListNode *p=head->next; //從開始結點比較
while (p&&p->data!=key) //直到p為NULL或p->data是key為止
p=p->next; //掃描下一結點
return p;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -