陣列模擬單連結串列
struct node{
int data;
struct node *next;
};
陣列模擬單連結串列,定義b[15]陣列元素是結構體中的data元素,right[15]是next一個元素指向,在當前元素之前,插入新元素。
void createData(){
int a[13] = {0};//防止初始化重複元素過濾
int b[15] = {0};
int right[15] = {0};
memset(right,-1,sizeof(right));
srand((unsigned int)time(NULL));
int n = 10;
for (int i = 0; i < n; ++i) {
int temp = rand()%12+1;
if (a[temp]) {
--i;
continue;
}
a[temp] = 1;
b[i] = temp;
right[i] = i+1;
printf("%d ",b[i]);
}
right[n-1] = -1;//這個是n-1這個元素為-1標記
printf("\n");
b[n] = 3;//這個是插入的元素,可以改成自己輸入的元素
//開始插入元素
for (int i = 0;i != -1;) {
if (b[right[i]] > b[n]) {
right[n] = right[i];//將當前的序號後移到n
right[i] = n;//在位置插入n
break;
}
i = right[i];
}
for (int i = 0;(i != -1)&&(b[i] > 0);i = right[i]) {
printf("%d ",b[i]);
}
printf("\n");
}
相關文章
- 陣列模擬單連結串列你會了嗎?陣列
- 陣列模擬雙連結串列,你get到了嗎?陣列
- 資料結構--陣列、單向連結串列、雙向連結串列資料結構陣列
- 陣列和連結串列陣列
- 陣列與連結串列陣列
- 資料結構之連結串列與陣列(3):單向連結串列上的簡單操作資料結構陣列
- 資料結構之連結串列與陣列(1):陣列和連結串列的簡介資料結構陣列
- 面相物件(三):模擬連結串列物件
- 可變陣列——連結串列前言陣列
- 資料結構--單連結串列(通過陣列實現)資料結構陣列
- 資料結構之連結串列與陣列(2):單向連結串列上的簡單操作問題資料結構陣列
- 佇列_單向連結串列佇列
- 線性結構 陣列與連結串列陣列
- 陣列和連結串列的區別陣列
- 聊聊陣列與連結串列,棧與佇列陣列佇列
- 資料結構之陣列和連結串列資料結構陣列
- 模擬STL連結串列類的實現
- (C語言)簡單明瞭的 陣列模擬棧+ (C++)陣列模擬棧C語言陣列C++
- 面試-陣列和連結串列的區別面試陣列
- 刪除陣列中的元素(連結串列)陣列
- day1-陣列和連結串列陣列
- 陣列、連結串列、堆疊和佇列學習陣列佇列
- 資料結構-棧(通過陣列和單向連結串列實現)資料結構陣列
- 連結串列-單連結串列實現
- 線性表(陣列、連結串列、佇列、棧)詳細總結陣列佇列
- 基數排序--陣列模擬桶結構排序陣列
- day4 連結串列-模擬與快慢指標指標
- pta重排連結串列(一個很清晰的實現,完全模擬連結串列的實現)
- L2-022 重排連結串列【陣列】陣列
- L2-002 連結串列去重【陣列】陣列
- JavaScript模擬表單(帶陣列的複雜資料結構)提交JavaScript陣列資料結構
- 常見的線性列表結構---【陣列、連結串列、棧、佇列、堆】陣列佇列
- .NET 下 模擬陣列越界陣列
- 為什麼陣列查詢比連結串列要快?而插入刪除比連結串列效率低陣列
- C/C++ 陣列連結串列表示式計算C++陣列
- 陣列與連結串列等順序表逆置薦陣列
- 資料結構與演算法整理總結---陣列,連結串列資料結構演算法陣列
- MapReduce矩陣;及快排單連結串列之解答矩陣