鍊錶的基本操作:
**:
/**
作用:鍊錶的基本操作和將鍊錶逆置功能
**/#include "stdio.h"
#include "string.h"
#include "stdlib.h"
typedef struct linknodelinknode;
//從鍵盤中輸入資料,然後建立成煉表
linknode *creat_slist(linknode **phead);
int sqlist_print(linknode *phead);
//在結點數值為x的前面插入y
int sqlist_nodeinsert(linknode *phead, int x, int y);
//刪除結點為y的鍊錶結點
int sqlist_nodedel(linknode *phead, int y);
//保持表頭不變,然後逆置鍊錶
void sqlist_reverse(linknode *phead);
//建立鍊錶
linknode *creat_slist()
int inputdata = 0;
printf("請輸入乙個資料(-1結束):");
scanf("%d", &inputdata);
while (inputdata != -1)
return phead;
};//輸出鍊錶
int sqlist_print(linknode *phead)
linknode *pcurrent = phead->next;
printf("鍊錶的結果:\n");
while (pcurrent != null)
printf("\n");
return 0;
}//在結點數值為x的前面插入y,如果沒有則插在最後的位置
int sqlist_nodeinsert(linknode *phead, int x, int y)
//1.環境準備
linknode *pcurrent = phead->next;
linknode *ppre = phead;
linknode *tempnode;
//2.生成乙個結點
tempnode = (linknode*)malloc(sizeof(linknode));
tempnode->data = y;
tempnode->next = null;
//3.查詢x資料的位置
while (pcurrent != null)
ppre = pcurrent;
pcurrent = pcurrent->next;
} //3.插入資料
ppre->next = tempnode;
tempnode->next = pcurrent;
return 0;
};//刪除結點為y的鍊錶結點
int sqlist_nodedel(linknode *phead, int y)
//1.先查詢是否在鍊錶中,如果不在鍊錶中返回-1
//2.查詢出來後刪除
while (pcurrent != null)else
}//while
if (ptemp == null)
else
};//保持表頭不變,然後逆置鍊錶
void sqlist_reverse(linknode *phead)
while (pcurrent != null)
};void main()
**執行圖:
C語言資料結構1 資料結構和演算法
如果沒有接觸過資料結構這門課程,或者說只是單單聽過這個名詞。那麼在含義方面,資料結構對於我們來說是非常陌生的。在了解一門課程之前,我們總是要知道這門課程要學習什麼。在了解資料結構之前,我們需要知道什麼是資料。對於人類來說,一切可以讓我們獲取資訊的東西都是資料。我們可以通過乙個動物的叫聲判斷是什麼動物...
六 C語言資料結構和演算法
1 資料結構,顧名思義,資料的結構,而如何將資料組合成一種結構了,c語言裡用到了struct結構體型別 union聯合體型別 enum列舉型別這三種。struct結構體型別,顧名思義,是一種結構,一種由基本資料型別 int char double float等等 組合而成的乙個整體,至於如何組合,很...
C語言 資料結構 演算法 筆記
includevoid main int length sizeof arr sizeof int sizeof函式是返回乙個物件或型別占用的記憶體 位元組 printf 陣列大小 d位元組,型別大小 d位元組,長度 d n sizeof arr sizeof int length 演算法一 int...