在devc++中,对链表串类型进行定义,用malloc函数为空链表串分配存储空间,建立一个空链表串,用scanf函数输入若干串任意字符串,实现字符串第i个元素的查找的完整代码
时间: 2024-10-29 11:21:15 浏览: 15
链表 内存的动态存储区
在Dev-C++中,你可以使用结构体(struct)定义链表节点,并利用malloc动态分配内存。首先,定义一个包含字符和指向下一个节点指针的链表节点:
```cpp
#include <iostream>
using namespace std;
// 定义链表节点
typedef struct Node {
char data;
struct Node* next;
} ListNode;
// 动态分配空链表
ListNode* createEmptyList() {
return (ListNode*)malloc(sizeof(ListNode)); // 分配一个节点的空间
}
int main() {
ListNode* head = createEmptyList(); // 创建头节点
int n;
cout << "Enter the number of strings: ";
cin >> n;
for(int i = 0; i < n; ++i) {
string str;
cout << "Enter string " << i+1 << ": ";
cin >> str;
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode)); // 分配新节点
newNode->data = str[0]; // 存储第一个字符
newNode->next = head; // 将新节点链接到链表头部
head = newNode; // 更新头节点
}
int index;
cout << "Enter the index to search: ";
cin >> index;
ListNode* curr = head;
for(int i = 0; i < index && curr != NULL; ++i) {
curr = curr->next;
}
if(curr == NULL) {
cout << "Element not found." << endl;
} else {
cout << "The character at index " << index << " is '" << curr->data << "'.";
}
return 0;
}
```
阅读全文