簡單資料結構

2021-07-24 09:40:33 字數 1132 閱讀 7649

編碼定義的變數在執行時的會存放在記憶體中的靜態儲存區、棧區或堆區:

1. 申請一塊連續的空間(陣列),可以存放在上述的三個區中

2. 申請可變長的空間(鍊錶),只能存放在堆區中

其他所有的資料結構在記憶體中存放時,都只能是陣列或者鍊錶的結構,只是在**邏輯上怎麼使用而已。

棧的使用(後進先出):

計算簡單加減乘除式子,**如下:

#include #include #include using namespace std;

int calint(int x, char symbol, int y)

}int calintformula(const char *formula)

symbolstack.push(formula[i]);

}else if(formula[i] == '(' || formula[i] == '*' || formula[i] == '/')else if(formula[i] == ')' )

symbolstack.pop();

}else

i--;

numberstack.push(num);}}

while (symbolstack.top() != '(')

symbolstack.pop();

return numberstack.top();

}int main()

,,, };

const char formula= "2+3*(1+3*5-60/(4-1))";

cout << calintformula(formula) << endl;

return 0;

}

佇列的使用(先進先出):

簡單訊息佇列,**如下:

#include #include using namespace std;

char* runqueue(char *str)

int j=0;

while (!messagequeue.empty())

str[j] = '\0';

return str;

}int main()

此致!

簡單資料結構

一 樹狀陣列 樹狀陣列是一種支援單點修改區間查詢的資料結構,這個陣列是以二進位制的形式儲存的,例如7的二進位制是111,最右邊1代表1,那麼c 7 就是從a 7 往前1個數這個區間所有a陣列值的和,再例如8的二進位制是1000,最右邊的1代表8,那麼c 8 就代表從a 8 往前8個數 1 8 這個區...

簡單資料結構 佇列

第一次發csdn部落格,有點小激動,因為自己看了不少csdn裡的大牛的博文,很崇拜。心想著什麼時候自己也寫一篇。現在是時候了。接觸c語言有三年了,但是僅僅是皮毛,而且在學校也很少用,現在為做畢設,用到佇列,發現已經忘得一乾二淨,於是重新翻書,寫此算做筆記。內容如有不當還請諸位指出。佇列 是一種線性表...

簡單資料結構的實現之順序棧

include using namespace std const int stack init size 100 ifndef sqstack h included define sqstack h included template class sqstack int stacklength e...