指標和鍊錶訓練題目

2021-08-04 05:26:39 字數 2008 閱讀 9366

//training5:指標和鍊錶訓練

//1.

題目:有n個人圍成一圈,順序排號,從第乙個開始報數(從1到3報數),凡報到3的人退出圈子,//

//問最後最後留下的是原來第幾號的那位.

#include

#include

typedef struct baoshu b;

int  main()

head=p;

p1=p;

printf("n:");

scanf("%d",&n);

for(i=0;i

p1->next=head;

p=head;

j=n;

i=0;

while(j>1)

p=p->next; }

printf("%d\n",p->a);

free(p);

p=null;

return 0; }

#include

#include

#include

typedef struct boy b;

int n=0;

b* bcreate()

printf("if age=0 quit, printf name age(enter in):\n");

scanf("%s",&p1->name);

scanf("%d",&p1->age);

head=p1;

if(p1->age==0)

return null;

p2=p1;

while((p1->age)!=0)

p2->next=null;

free(p1);

p1=null;

return head; }

b* gcreate()

printf("if age=0 quit, printf name age(enter in):\n");

scanf("%s",&p1->name);

scanf("%d",&p1->age);

head=p1;

if(p1->age==0)

return null;

p2=p1;

while((p1->age)!=0)

p2->next=null;

free(p1);

p1=null;

return head; }

void shuchu(b * head)

printf("\n"); }

b * hebing(b *b,b* g)

void paixu(b **head)

} p=*head;

*head=p->next;

free(p);

p=null; }

void nixu(b ** head)

*head=p1; }

void find(b *head)

while(p->next!=null)

printf("i=%d\n",i);

p=head;

for(j=0;jp=p->next;

j=p->age;

p1=head;

for(k=0;kp1=p1->next;

k=p1->age; //

printf("j=%d   k=%d\n",j,k);

if((data-j)<(k-data))

} else if((data-j)>(k-data))

// printf("%s\n",p1->name); }

else

// printf("%s       ",p->name);

p1=head;

for(k=0;kp1=p1->next;

j=p1->age;

p=head;

while(p!=null)

//printf("%s\n",p1->name); }

}int main()

多級指標和鍊錶

如果看到乙個宣告 type ptr 你會怎麼想?估計一半人都瘋了,如此宣告乙個變數的人本身要麼是乙個高手,要麼是乙個低能。這樣的一排 事實上表示的是乙個鍊錶,鍊錶上的每乙個元素可以分布在記憶體的任意乙個位置,它們之間每兩個通過乙個 相聯絡。p定義乙個指標,p指向乙個記憶體位置,該位置中儲存p宣告的資...

指標 引用和鍊錶

還是課堂的筆記。記憶體中的乙個位元組為乙個儲存單元 byte 儲存單元的編號是位址 變數的位址是該變數所在儲存區域的第乙個位元組 單元 的位址 位址成為變數的指標 定義格式 型別說明符 指標變數名 int pi float pf 1 乙個指標變數只能指向統一資料型別的變數。在定義指標變數時明確給定的...

Leetcode 鍊錶題目

鍊錶是個線性資料結構 由零個或多個資料元素組成的有限序列 第乙個元素無前驅,最後乙個元素沒有後繼,其餘元素乙個前驅乙個後繼 leetcode 160 找出兩個鍊錶的交點 本題中要找出兩條鍊錶的交點,首先要知道鍊錶的特性,下乙個節點的位置只能由上乙個節點來確定,所以不能直接確定某個值得特定的位置,因此...