C++ 如何用链表创建一个破坏第n个元素的程序?
我正在使用链表创建一个程序,该程序具有一个函数,该函数将销毁列表中的n元素,并将其编号存储在第n个元素中 我已经创建了一个程序来创建一个链表,但是我找不到搜索第n个元素的方法C++ 如何用链表创建一个破坏第n个元素的程序?,c++,algorithm,linked-list,C++,Algorithm,Linked List,我正在使用链表创建一个程序,该程序具有一个函数,该函数将销毁列表中的n元素,并将其编号存储在第n个元素中 我已经创建了一个程序来创建一个链表,但是我找不到搜索第n个元素的方法 struct elem { int value; elem* next; }; int main() { elem* start = NULL, *last; int a[4] = {1, 2, 3, 4}; /// creating for(int i = 0; i &l
struct elem {
int value;
elem* next;
};
int main() {
elem* start = NULL, *last;
int a[4] = {1, 2, 3, 4};
/// creating
for(int i = 0; i < 4; i++) {
elem* p = new elem; /// s1
p->value = a[i]; /// s2
p->next = NULL; /// s3
if(start == NULL) start = p; /// s4a
else last->next = p; /// s4b
last = p; /// s5
}
/// printing
elem* p = start;
while (p) {
cout << p->value << " ";
p=p->next;
}
/// deleting
p = start; /// 1
while (p) {
start = p->next; /// 2
delete p; /// 3
p = start; /// 4
}
}
结构元素{
int值;
elem*下一步;
};
int main(){
elem*start=NULL,*last;
inta[4]={1,2,3,4};
///创造
对于(int i=0;i<4;i++){
元素*p=新元素;///s1
p->value=a[i];///s2
p->next=NULL;///s3
如果(start==NULL)start=p;///s4a
else last->next=p;///s4b
last=p;///s5
}
///印刷品
elem*p=开始;
while(p){
其次是价值观;
}
///删除
p=start;///1
while(p){
开始=p->next;///2
删除p;///3
p=开始;///4
}
}
我能在这里得到一些帮助吗?真的很挣扎与链表,提前感谢 首先,需要通过args[]将“n”的值传递给main()函数 然后,添加一个while循环,就像打印一样,每次遍历链表元素时递增索引,并检查index==n,获取元素值,然后通过调用delete函数删除该元素 最好将打印/删除部分作为单独的函数,然后通过main()调用这些函数。您可以为从args[]获得的参数添加一些检查条件