4個回答
-
它被稱為 s0 旁邊的第 1 位還是第 2 位? 這得到了更好的解釋。
功能:在字元鍊表 s 的第 i 個元素之後插入字元鍊表 t。
鍊表元素的索引從 0 開始。
void insert(str s, str t, int i)str temp1;
while(i != 0)
s = s->next;
if(null == s)return;
i--;temp1 = s->next;在這種情況下,您需要在 s 之後插入 t t,並在 s 之後錄製原始內容。
str temp2 = t;記錄 t。
while(t->next != null) 新增到 t 的尾部。
t = t->next;
t = temp1;將 s 後面的原始內容附加到 t 的背面。
s->next = temp2;插入 t。
新的 C 標準允許在函式中間宣告變數。
-
不能在函式執行時定義變數。 str temp2=t;將此語句放在函式的開頭。
while(i!=1){s=s->next;
i--;你這樣跑,它完全被打亂了。 最好在使用前儲存它。 用完後返回。
-
C 不支援在函式中間定義變數,因此請務必將定義變數的語句放在函式的開頭。
-
我可以像這樣刪除頭部指標嗎? 此鍊表......
typedef struct node{
char data;
struct node *next;
l,* str;
str insert(str s,str t,int i)str temp1,temp2;
temp1=s;
while(i!=1)
temp1=temp1->next;
i--;temp2=temp1->next;
temp1->next=t;
while(t->next)
t=t->next;
t->next=temp2;
return s;
相關回答