SLinkList.h頭文件
#ifndef SLINKLIST_H_H #define MAX_SIZE 100 #define OK 0 #define ERROR -1 typedef int type; typedef struct SNode { type elem; int cur; }SLinkList[MAX_SIZE]; int init_slinkList(SLinkList); int malloc_node(SLinkList); void free_node(SLinkList, int); int print_slinkList(SLinkList); int create_slinkList(SLinkList,int*); int insert_slinkList(SLinkList, int, type); int delete_slinkList(SLinkList, type); #endif
SLinkList.cpp文件
#include<stdio.h> #include<stdlib.h> #include "SLinkList.h" int init_slinkList(SLinkList slist) { for(int i = 0 ; i < MAX_SIZE - 1 ; i++) slist[i].cur = i + 1; slist[MAX_SIZE - 1].cur = 0; return OK; } int malloc_node(SLinkList slist) { int i = slist[0].cur; if(slist[0].cur) slist[0].cur = slist[i].cur; return i; } void free_node(SLinkList slist, int i) { slist[i].cur = slist[0].cur; slist[0].cur = i; } int print_slinkList(SLinkList slist) { int tmp = 1; while(slist[tmp].cur != 0) { tmp = slist[tmp].cur; printf("%d ",slist[tmp].elem); } printf("/n"); return OK; } int create_slinkList(SLinkList slist, int *head) { type num; printf("input num: "); scanf("%d",&num); int r; *head = malloc_node(slist); //malloc head node slist[*head].elem = 0; r = *head; while(num != 0) { int pos = malloc_node(slist); slist[pos].elem = num; slist[r].cur = pos; r = pos; slist[*head].elem++; scanf("%d",&num); } slist[r].cur = 0; return OK; } int insert_slinkList(SLinkList slist, int pos, type e) { if(pos < 0 || pos > slist[1].elem) return ERROR; int tmp = 1; int tmp1; while((pos--) > 0) { tmp1 = tmp; tmp = slist[tmp].cur; } int i = malloc_node(slist); slist[i].elem = e; slist[i].cur = tmp; slist[tmp1].cur = i; slist[1].elem++; return OK; } int delete_slinkList(SLinkList slist, type e) { if(0 == slist[1].elem) return ERROR; int i = 1; while(slist[slist[i].cur].elem != e && i != 0) { i = slist[i].cur; } if(0 == i) return ERROR; slist[i].cur = slist[i + 1].cur; free_node(slist,i + 1); slist[1].elem--; return OK; }
喜大普奔,微信給我的公衆號開了留言功能!!!有緣看到這篇文章的朋友,可以留個言互動下,謝謝~ 最近線上偶發MySQL的死鎖異常,發現原來很多理論都只背了個結論,細節都是魔鬼。 比如,MySQL在RR級別用gap lock防止幻讀,
原方法 /** * 動態更新form * @param form */ updateForm(form) { this.form.manholeId = form.manholeId; this.form
詳解 binlog 時間戳與 exec_time 的關係。 作者:李錫超,蘇商銀行DBA,負責數據庫和中間件運維和建設。擅長 MySQL、Python、Oracle,愛好騎行、技術研究和分享。 愛可生開源社區出品,原創內容未經授權不得隨意
背景 最近領導分配了個任務,測試sit環境一些功能相比之前慢了許多,需要優化一下。 問題排查過程 瀏覽器F12查看相關接口的響應,看到底是哪個接口反應慢,根據互聯網的要求,頁面3秒還沒有顯示出來,用戶體驗會非常差。 查看相關代碼的提交
本文分享自華爲雲社區《GaussDB SQL基礎語法示例-BOOLEAN表達式》,作者:Gauss松鼠會小助手2。 一、前言 SQL是用於訪問和處理數據庫的標準計算機語言。GaussDB支持的SQL標準(默認支持SQL2、SQL3和SQL
O2OA(翱途)開發平臺[下稱O2OA開發平臺或者O2OA]的消息機制允許開發者通過配置實現郵件通知。本篇主要闡述如何實現待辦消息的郵件通知。 一、先決條件: 1、O2Server服務器正常運行,系統安裝部署請參考
Flowable 有3種監聽器,相關內容在開發文檔中有詳細的說明: 事件監聽器(Flowable 開發文檔 3.18) 執行監聽器(Flowable 開發文檔 8.5.13) 任務監聽器(Flowable 開發文檔 8.5.14) 分別
本文分享自華爲雲社區《GaussDB(DWS)向量化執行引擎詳解》,作者: yd_212508532。 前言 適用版本:【基線功能】 傳統的行執行引擎大多采用一次一元組的執行模式,這樣在執行過程中CPU大部分時間並沒有用來處理數據,更
剛剛進行了微信sessionkey的學習,正準備實戰一下,就發現了這個神奇的網站,預知後事如何。請繼續向下看去 1. 目標 2. 開局一個登錄框 3. 首先,直接弱口令走起來,萬一留有測試的賬號呢 嘗試,1311111111,1333
隨着當前數據處理業務場景日趨複雜,對於大數據處理平臺基礎架構的能力要求也越來越高,既要求數據湖的大存儲能力,也要求具備海量數據高效批處理能力,同時還可能對延時敏感的近實時鏈路有強需求,本文主要介紹基於 MaxCompute 的離線近實時一體
在 Vue3 中,可以使用 reactive 函數創建響應式對象。這些響應式對象可以跟蹤其屬性的變化並且自動地更新視圖。但是在某些情況下,我們可能需要清空這些響應式對象。下面是一些方法來清空 Vue3 reactive。 方法一:使用 Ob
本文分享自華爲雲社區《應用中大量數據的分頁處理》,作者:碼樂。 簡介 大批量數據的展示一直被視爲一個必須要解決的問題。 一個經典的思想就是分批展示和處理它們。 1 查詢時外鍵的處理 如果在django model 中模型使用了外鍵,通過
作者:vivo 互聯網數據庫團隊 - Wei Haodong 本文介紹了 MySQL5.7 中常見的replace into 操作造成的主從auto_increment不一致現象,一旦觸發了主從切換,業務的正常插入
本文分享自華爲雲社區《kube-apiserver限流機制原理》,作者:可以交個朋友。 背景 apiserver是kubernetes中最重要的組件,一旦遇到惡意刷接口或請求量超過承載範圍,apiserver服務可能會崩潰,導致整個kub
本文分享自華爲雲社區《GaussDB SQL基本語法示例-CASE表達式》,作者:Gauss松鼠會小助手2。 一、前言 SQL是用於訪問和處理數據庫的標準計算機語言。GaussDB支持SQL標準(默認支持SQL2、SQL3和SQL4的主要