20231107-Imgbb

免費圖片上傳api

const onDrop = useCallback((acceptedFiles: any) => {
acceptedFiles.forEach((file: any) => {

const reader:any = new FileReader()

reader.onabort = () => console.log('file reading was aborted')

reader.onerror = () => console.log('file reading has failed')

reader.onload = async () => {

  

const base64String:any = reader.result.split(',')[1];

console.log(base64String);

let data = new FormData()

data.append("image", base64String)

  

fetch(`https://api.imgbb.com/1/upload?expiration=600&key=${api_key}`, {

method: "POST",

body:data

}).then((res)=>console.log(res))

}

reader.readAsDataURL(file)

})

  

}, [])

Ref

20231103-Linklist

c++

#include <iostream>
using namespace std;

struct Node {
    int data;
    Node* next;
};

Node* head = nullptr;
void insertNode(int data)
{
    Node* newNode = new Node();
    newNode->data = data;
    newNode->next = nullptr;

    //head沒有東西
    if (head == nullptr) {
        head = newNode;
        return; 
    }
    //head有東西
    Node* now = head;
    //找到 ->next 是空的接上去
    while (now->next!=nullptr) {
        now = now->next;
    }
    now->next = newNode;
}
void deleteNode(int data)
{
    if (head==nullptr) return; 
    //找到要刪除的節點
    Node* to_delete = head;
    Node* prev = nullptr;
    while (to_delete->data != data) {
        prev = to_delete;
        to_delete = to_delete->next;
    }
    if (to_delete!=nullptr) {
        if(prev == nullptr) head = to_delete->next;
        else prev->next = to_delete->next;

        delete to_delete;
    }   
}
void printList()
{
    Node* now = head;
    while (now!=nullptr) {
        cout << now->data << " ";
        now = now-> next;
    }
    cout << endl;
}
int main() {
    insertNode(1);
    insertNode(2);
    insertNode(3);
    insertNode(4);
    insertNode(5);
    printList();
    // 刪除首節點
    deleteNode(1);
    printList();
    // 刪除中間
    deleteNode(3);
    printList();
    
    return 0;
}

Ref

0%