題目: 單鏈表操作
功能: 1. 建立乙個含有若干個整數的單鏈表儲存結構;
2. 輸出單鏈表各節點的值;
3. 查詢第i個結點的值,並輸出;
4. 在第i個結點之後插入乙個值為x的結點。
5. 刪除第i個結點。
#include
#include
#define len sizeof(struct x)
struct x;
int n;
void menu()
struct x * creat()
p2->next=null;
printf("鍊錶建立成功!!");
return head;
}void print(struct x *head)
}else
printf("空鍊錶!!");
}/*struct x * del(struct x *head)
p1=head;
while(p1->x!=a&&p1->next!=null)
if(p1->x==a)
else
printf("%d not been found!!",a);
return head;
} 按節點的值刪除 */
void find(struct x *head)
}struct x * insert(struct x *head)
p2->next=p;
p->next=p1;
}else
n++;
printf("節點插入成功!!\n");
}return head;
}struct x * del(struct x *head)
p2->next=p1->next;
}n--;
printf("節點刪除成功!!\n");
}return head;
}/*void reverse(struct x *head)
printf("已實現單鏈表的逆序!!");
} 頭插法實現逆序 */
struct x * reverse(struct x *head)//就地逆置發實現逆序
printf("已實現單鏈表的逆序!!");
return p2;
}
int main ()
}getchar();getchar();
return 0;}注釋
1.可解決插入到第0個節點之後
總結1.單鏈表的逆序:
頭插法實現逆序 ()
void reverse(struct x *head)
printf("已實現單鏈表的逆序!!");
}就地逆置法實現逆序
struct x * reverse(struct x *head)
printf("已實現單鏈表的逆序!!");
return p2;
}
單鏈表操作
include include typedef struct node tag node 建立不帶頭結點的單鏈表 node createnode else p q scanf d n 函式體結束,q指標變數被釋放,不能通過head引數帶回到呼叫函式 要把head帶回到呼叫函式,要把它定義為指向指標的...
單鏈表操作
include stdio.h include malloc.h include define n 10 代表要處理的元素個數 可以誰使用者的意思修改 define ok 1 define overflow 0 typedef int elemtype typedef int status type...
單鏈表操作
這一次補上鍊表的注釋,是空閒的時候敲出來的,如果有錯,希望幫忙糾正 部分給出了詳細說明,這裡只選取了基本操作,因為更複雜的鍊錶操作太繁瑣,這裡就不寫了 如果有什麼不懂的地方,可以隨時詢問 include using namespace std typedef int elemtype struct ...