KMP(c++) /相当于getnext中的j++,next[i]=j,i++// 如果s[i+1]!=s[j+1]但是s[i] == s[j],这和next数组就一样了。if (j == 0 || s[i] == s[j])// 如果相等或者回溯到了头位置。// 如果s[i+1]等于s[j+1],说明在回溯时应是无效回溯。// 这里和next数组有差别,判断是否s[i+1]==s[j+1]// 判断s[i+1]是否等于s[j+1]
链栈(c++) /链栈char data;//初始化L=NULL;//入栈q->data=a;q->next=L;L=q;//出栈char e;return -1;e=L->data;L=L->next;return e;//获取栈顶元素if(L!=NULL)//置空L=NULL;//销毁while(L)q=L;L=L->next;delete L;L=NULL;i<5;i++)char a;cin>>a;Push(L,a);i<5;
双链表c++ cout << endl << "依次输入" << n << "个元素: ";cout << "删除链表第2个元素成功" << endl;cout<<"不能删除头结点"<<endl;cout<<"链表为空"<<endl;cout<<"结点不存在"<<i<<endl;cout<<"初始化成功"<<endl;cout<<"逆向打印"<<endl;cout<<"销毁链表"<<endl;cout<<"元素个数"<<endl;cout<<"头插法"<<endl;cout<<"尾插法"<<endl;
c++单链表(带头结点) cout << "第" << n << "元素的值为:" << element << endl;cout << "你查询值为" << n << "的位置为" << index << endl;cout << "第" <<n<< "个元素的值获取失败!" << endl;cout<<"你查询值为"<<n<<"的位置为"<<index<<endl;cout << "删除第" << n << "元素成功!cout << "删除第" << n << "元素失败!cout << "插入失败" << endl;
c++顺序表储存 cout << "第4个元素: " << e.id << " " << e.name << " " << e.price << endl;cout << "找到价格为38的图书,位置: " << pos << endl;Book newBook = {"976", "C#面向对象程序设计", 9.0};cout << "初始化失败" << endl;Book *elem;// 查找价格是38的图书信息。// 在第4个元素前插入新元素。// 读取第4个元素。// 删除第7个元素。