原创 C++ STL--map容器

map容器 介紹: 提供一個鍵--值對容器,表示了一個一對一的關係(可以想象數組下標與該位置元素的對應關係),map(映射)與multimap(多重映射)差別在於multiple允許一個鍵對應多個值。  頭文件: #include   

原创 例題3-文件操作

之前用的不多,見到時有點懵,記錄以備查閱 fopen打開文件 返回FILE*,如果該指針爲NULL,表未打開文件 比較簡單,兩個參數,第一個爲文件,第二個爲模式 其中“r”只讀;“w”寫入;"a"追加寫入 “w+b”b區分

原创 作業概述

作業:早期批處理系統使用;一次任務處理中計算機系統所做的工作的集合,包括程序,數據,命令等;相對獨立的執行步稱爲作業步。 分類: 批處理作業;交互式作業   作業狀態: 提交:最終建立作業控制塊,註冊完成,進入後備;’ 後備:等待進入內

原创 STL-順序容器-列表list

 list和雙向鏈表結構相似,每個節點包含一個數據塊,前向指針,和後向指針,存儲在非連續的內存空間中 很顯然,查找操作時,只能順序查找,不支持內部隨機訪問;不像數組,向量vectoer,隊列可以用下標查找 但是可以在任意序列位置插入和刪除

原创 STL容器--順序容器-隊列queue和deque

queue單向隊列,先進先出,也就是從尾部插入,頭部取出 操作: queue<int>q;  創建一個int型空隊列q q.empty();   判斷隊列是否爲空,爲空返回true q.push(s);   將變量s從隊尾入隊

原创 C99新增的柔性數組

我總結了一下用指針和用變長結構體的區別: 1.在位置方面:指針可以放在任何地方,但是變長結構體的變長部分一定要放在結構體的最後。 2.在內存佔用方面:指針會佔一個指針的大小的內存空間,但是變長數組是不佔內存的,它只是一個佔位符。

原创 C++中sort與qsort函數簡介

C++中自帶了一些排序函數,其中STL的sort();qsort()用的較多 sort:複雜度爲n*log2(n) 頭文件 #include <algorithm>  原型: template <class RandomAccessI

原创 C++--STL---set容器

Set 集合 用來存儲同一數據類型的數據類型; 在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序。應該注意的是set中數元素的值不能直接被改變。 C++ STL中標準關聯容器set, multiset, map, mult

原创 volatile關鍵字

volatile關鍵字 (1)用來同步,因爲同一個東西可能在不同的存儲介質中有多個副本,有些情況下會使得這些副本中的值不同,這是不允許的,所以乾脆用volatile,讓它只 有一個,沒有其他的副本,這樣就不會發生不同步的問題。 (2

原创 C++例題4--類的大小判定--sizeof

若char是一字節,int是4字節,指針類型是4字節,代碼如下: class CTest { public: CTest():m_chData(‘\0’),m_nData(0) {

原创 C++例題分析2,複製構造函數

示例1: #include using namespace std; class test1{ public: test1(int a):value(a){} test1(test1 &c){value=c.valu

原创 進程概述

進程: 程序的順序執行:順序性,封閉性(獨佔全機資源),確定性,可再現性; 併發執行:間斷性,非封閉性,不可再現性(如對共享資源變量的使用)多道程序技術中,CPU來回切換程序,描述困難 程序執行的每一個新狀態稱爲進程; 進程與程序的區別

原创 互斥,同步,信號量,管程概述

本文爲閱讀操作系統原理及網上博客的筆記及自己的總結,以備查閱回顧 操作系統中,進程是佔有資源的最小單位(線程可以訪問其所在進程內的所有資源,但線程本身並不佔有資源或僅僅佔有一點必須資源)。 互斥:多個進程不能同時使用同一個資源;競爭使用

原创 堆排序

待更新 點贊 收藏 分享 文章舉報

原创 位排序

編程珠璣上看到的,當時驚爲天人,別笑話我讀書少,哈哈 主要解決非重複序列 非負 整數的排序問題 但是我認爲,可以解決含有重複元素的序列 此時數組向量不但要記錄有無(0,1), 還應記錄該元素具體出現的次數(例如3); 輸出排序時,出現次數