使用c语言将一组数据写入单链表并输出最大的数
时间: 2023-04-04 07:04:57 浏览: 56
好的,我可以回答这个问题。首先,你需要定义一个单链表结构体,包含数据和指向下一个节点的指针。然后,你可以使用循环将数据逐个插入链表中。在插入数据时,你需要比较当前节点的数据和下一个节点的数据,如果当前节点的数据比下一个节点的数据大,则将当前节点插入到下一个节点之前。最后,遍历整个链表,找到最大的数据并输出即可。
相关问题
使用c语言将一组数据写入二叉树并输出最小的数
您好,我可以回答这个问题。以下是使用 C 语言将一组数据写入二叉树并输出最小的数的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结构体
typedef struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
// 插入节点
void insert(TreeNode **root, int val) {
if (*root == NULL) {
*root = (TreeNode *)malloc(sizeof(TreeNode));
(*root)->val = val;
(*root)->left = NULL;
(*root)->right = NULL;
} else if (val < (*root)->val) {
insert(&((*root)->left), val);
} else {
insert(&((*root)->right), val);
}
}
// 查找最小值
int findMin(TreeNode *root) {
while (root->left != NULL) {
root = root->left;
}
return root->val;
}
int main() {
int nums[] = {5, 3, 7, 1, 9, 4, 2};
int len = sizeof(nums) / sizeof(nums[0]);
TreeNode *root = NULL;
for (int i = 0; i < len; i++) {
insert(&root, nums[i]);
}
int min = findMin(root);
printf("最小值为:%d\n", min);
return 0;
}
```
希望能够帮到您!
使用c语言写入一组数据到队列并输出最大的数
您好,我可以回答这个问题。以下是使用 C 语言写入一组数据到队列并输出最大的数的代码示例:
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int queue[MAX_SIZE];
int front = 0, rear = 0;
int n, i, max;
printf("请输入数据个数:");
scanf("%d", &n);
printf("请输入数据:");
for (i = 0; i < n; i++) {
scanf("%d", &queue[rear]);
rear++;
}
max = queue[front];
for (i = front + 1; i < rear; i++) {
if (queue[i] > max) {
max = queue[i];
}
}
printf("最大的数是:%d\n", max);
return 0;
}
以上代码使用数组模拟队列,先输入数据个数和数据,再遍历数组找到最大的数并输出。希望能对您有所帮助。