Appearance
L3_05 数据结构
一、C++ 一维数组
1.1 定义和初始化
cpp
#include <iostream>
using namespace std;
int main() {
// 方法1:声明并初始化
int arr1[5] = {1, 2, 3, 4, 5};
// 方法2:部分初始化,其余为0
int arr2[5] = {1, 2}; // [1, 2, 0, 0, 0]
// 方法3:自动推断大小
int arr3[] = {1, 2, 3}; // 大小为3
return 0;
}1.2 访问数组元素
cpp
int arr[5] = {10, 20, 30, 40, 50};
cout << arr[0] << endl; // 输出第一个元素
cout << arr[4] << endl; // 输出最后一个元素1.3 数组遍历
cpp
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}二、Python 列表
2.1 创建列表
python
# 空列表
list1 = []
# 有初始元素
list2 = [1, 2, 3, 4, 5]
# 混合类型
list3 = [1, "hello", 3.14, True]2.2 访问元素
python
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # 第一个元素
print(fruits[-1]) # 最后一个元素2.3 列表操作
python
fruits = ["apple", "banana", "cherry"]
# 添加元素
fruits.append("orange")
# 插入元素
fruits.insert(1, "grape")
# 删除元素
fruits.remove("banana")
# 列表长度
print(len(fruits))三、Python 字典
3.1 创建字典
python
# 空字典
dict1 = {}
# 有初始键值对
person = {
"name": "Alice",
"age": 25,
"city": "Beijing"
}3.2 访问值
python
person = {"name": "Alice", "age": 25}
print(person["name"]) # 通过键访问
print(person.get("age")) # 使用get方法3.3 字典操作
python
person = {"name": "Alice"}
# 添加键值对
person["age"] = 25
# 修改值
person["age"] = 26
# 删除键值对
del person["age"]
# 遍历字典
for key, value in person.items():
print(key, value)四、Python 元组
4.1 创建元组
python
# 使用圆括号
t1 = (1, 2, 3)
# 省略括号
t2 = 1, 2, 3
# 单元素元组(必须加逗号)
t3 = (1,)4.2 特点
- 不可变(不能修改元素)
- 可以包含不同类型的元素
- 占用内存比列表小
五、Python 集合
5.1 创建集合
python
# 使用花括号
s1 = {1, 2, 3, 4}
# 使用set()函数
s2 = set([1, 2, 3])
# 空集合
s3 = set()5.2 特点
- 无序
- 不允许重复元素
- 支持集合运算
5.3 集合操作
python
a = {1, 2, 3}
b = {3, 4, 5}
# 并集
print(a | b) # {1, 2, 3, 4, 5}
# 交集
print(a & b) # {3}
# 差集
print(a - b) # {1, 2}六、列表解析
6.1 基本语法
python
new_list = [expression for item in iterable]6.2 示例
python
# 生成1-10的平方
squares = [x**2 for x in range(1, 11)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 过滤偶数
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
# 嵌套列表解析
matrix = [[1, 2], [3, 4], [5, 6]]
flattened = [num for row in matrix for num in row]
print(flattened) # [1, 2, 3, 4, 5, 6]七、示例程序
7.1 C++ 数组求和
cpp
#include <iostream>
using namespace std;
int main() {
int arr[] = {10, 20, 30, 40, 50};
int sum = 0;
for (int num : arr) {
sum += num;
}
cout << "数组和: " << sum << endl;
return 0;
}7.2 Python 列表统计
python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 计算偶数和
even_sum = sum(x for x in numbers if x % 2 == 0)
print("偶数和:", even_sum)
# 找出大于5的元素
greater_than_5 = [x for x in numbers if x > 5]
print("大于5的元素:", greater_than_5)