原创 C++簡單方法實現替換字符串中的空格

class Solution { public: void replaceSpace(char *str,int length); }; void Solution::replaceSpace(char *str,int lengt

原创 VSCode遠程登錄Linux,實現Windows下進行Linux編程

在Linux下寫C/C++程序是非常麻煩的事,一般在Windows下用代碼編輯器寫完之後,還要通過遠程工具,上傳到Linux上編譯運行,或是Linux上安裝smb服務器進行映射,在windows下編寫時候還不能自動補全Linux下的函數,

原创 初識C++

1、C++的文件擴展名:.cpp   .cc  .C   .cxx 2、C++的編譯器:      g++ 大多數系統需要額外安裝,Ubuntu下的安裝命令:                sudo apt-get update    

原创 C++對象的創建方法

1、在棧上創建:          (1)類名 對象;          (2)類名 對象(實參); class A { public: int num; A(int _num) { num =

原创 malloc和calloc重新分配內存

#include <stdio.h> #include <stdlib.h> void fun(int* p1, int* p2, int* s) { s = (int*)malloc(sizeof(int)); //

原创 數據結構-單向鏈表(C語言)

單向鏈表:元素分散存儲在內存中任意位置,元素中有一個數據項用來記錄下一個元素的地址 設置鏈表結點 創建結點 設計鏈表結構 創建鏈表 銷燬鏈表 添加結點: 頭添加,尾添加,任意位置添加 刪除結點: 頭刪除,尾刪除,任意位置刪除 遍歷 #i

原创 歸併排序(C語言)

void merge(int* arr,size_t left,size_t pi,size_t right) { int i=left,j=pi+1,k=0; // 內部合併 int temp[right-left+1];

原创 插入排序(C語言)

void insert_sort(int* arr,size_t len) { for(int i=1; i<len; i++) { int t = arr[i] , k = i; for(int j=i-1; j>=0 &

原创 預處理指令

#include //文件包含 #define //定義宏常量或宏函數 # //把標識符轉換成字符串 ## //合併標識符 #undef //刪除宏 #line //指定當前行的行號 #if #ifndef #ifdef #

原创 堆排序(C語言)

void creat_heap(int* arr,size_t root,size_t len) { if(root >= len) return; int left = root*2+1,right = root*2+2; c

原创 快速排序(C語言)

void _quick_sort(int* arr,size_t left,size_t right) { if(left >= right) return; // 計算標杆的下標 int pi = (left+right)/2

原创 選擇排序(C語言)

void select_sort(int* arr,size_t len) { for(int i=len-1; i>0; i--) { int max = i; for(int j=0; j<i; j++) {

原创 數據結構-雙向鏈表(C語言)

c語言實現雙向鏈表 創建鏈表 銷燬鏈表 頭添加 尾添加 插入 通過查找位置刪除 通過查找值刪除 遍歷鏈表 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #def

原创 實現冒泡排序算法

冒泡排序是一種穩定排序,在排序過程中可以監測到數據是否已經交換,就是說冒泡排序對數據的有序性很敏感,一旦數據有序可以立即停止排序,所以待排序的數據基本有序,則冒泡排序的效率是非常高的 先定義一個宏函數,負責交換數據 冒泡排序 最好時間複雜