當前位置:編程學習大全網 - 編程軟體 - C++如何建立壹個10個節點的單向鏈表存儲10個由整型和字符串的記錄數據並順序和倒序輸出

C++如何建立壹個10個節點的單向鏈表存儲10個由整型和字符串的記錄數據並順序和倒序輸出

#include?<iostream>

#include?<string.h>

typedef?struct?Record

{

int?n;

char?s[5];

Record?*next;

}Record,*RList;

void?buildList(RList?&list)//創建鏈表?

{

Record?*p;

list=new?Record;//創建頭結點,不存儲數據?

p=list;

for(int?i=0;i<10;i++)

{

p->next=new?Record;

p=p->next;?

p->n=i;

strcpy(p->s,"str");

p->s[3]=i+0x30;//將數字i轉換成對應字符

p->s[4]='\0';//字符串結尾

}

p->next=NULL;//鏈表結束?

}

void?reverseList(RList?list)//逆置鏈表?

{

Record?*p=list->next->next,*r;

list->next->next=NULL;//鏈表尾?

//頭插法

while(p)

{

r=p->next;

p->next=list->next;

list->next=p;

p=r;

}

}

void?printList(RList?list)//打印鏈表

{

Record?*p?=?list->next;

while(p)

{

printf("n=%d?s=%s\n",p->n,p->s);

p=p->next;

}

}?

int?main(int?argc,?char**?argv)?{

RList?list;

buildList(list);

printf("\n順序輸出:\n");

printList(list);

printf("\n倒序輸出:\n");

reverseList(list);

printList(list);

reverseList(list);//還原鏈表

return?0;

}

  • 上一篇:數據庫開發編程是什麽樣的壹個概念啊
  • 下一篇:求壹詳細介紹 ARM開發中 C語言編程的語法和聲明的書 最好有程序示例
  • copyright 2024編程學習大全網