建立一个带值为链表长度的头节点的链表,并实现基本的增删改查。 struct ListNode { int val; ListNode* next; }; ListNode* newList() //新建链表 { ListNode *temp = (ListNode*)malloc(sizeof(ListNode)); temp->val = 0; …
冒泡排序 从前往后(或从后往前)两两比较相邻元素的值,若为逆序,则交换他们,直到序列比较完。 空间复杂度:O(1),时间复杂度:最好时间复杂度为O(n),最坏时间复杂度为O(n2),排序算法稳定。 void BubbleSort(int a[], int n) { for (int i = n-1;i > 0;i--) {//n-1趟…
vector容器是STL中常用容器之一,可以看做是对普通数组的升级版。vector实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动态调整所占用的内存空间,扩展方式为开辟一块更大的空间,拷贝元素,并释放原空间。vector常被称为向量容器,该容器擅长在尾部插入或删除元素,在常量时间内就可以完成,时间复杂度为O(1);而…