c++数据结构的实现
时间: 2024-01-04 14:03:56 浏览: 141
C语言可以通过各种方式实现各种数据结构。下面是一些常见数据结构的C语言实现示例:
1. 数组:C语言中的数组是最基本的数据结构,可以存储相同类型的元素。例如,可以通过以下方式声明一个整型数组:
```
int arr[10];
```
2. 链表:链表是一种动态数据结构,每个节点包含一个元素和一个指向下一个节点的指针。以下是链表节点的示例定义:
```
struct Node {
int data;
struct Node* next;
};
```
3. 栈:栈是一种后进先出(LIFO)的数据结构。以下是栈的示例实现:
```
#define MAX_SIZE 100
typedef struct {
int arr[MAX_SIZE];
int top;
} Stack;
void push(Stack* stack, int data) {
if (stack->top == MAX_SIZE - 1) {
printf("Stack overflow!\n");
return;
}
stack->arr[++stack->top] = data;
}
int pop(Stack* stack) {
if (stack->top == -1) {
printf("Stack underflow!\n");
return -1;
}
return stack->arr[stack->top--];
}
```
4. 队列:队列是一种先进先出(FIFO)的数据结构。以下是队列的示例实现:
```
#define MAX_SIZE 100
typedef struct {
int arr[MAX_SIZE];
int front;
int rear;
} Queue;
void enqueue(Queue* queue, int data) {
if (queue->rear == MAX_SIZE - 1) {
printf("Queue overflow!\n");
return;
}
queue->arr[++queue->rear] = data;
}
int dequeue(Queue* queue) {
if (queue->front > queue->rear) {
printf("Queue underflow!\n");
return -1;
}
return queue->arr[queue->front++];
}
```
这只是一些数据结构的简单示例,C语言还可以实现更多复杂的数据结构,如树、图等。
阅读全文