Cracking The Coding Interview2.3

2023-11-30 19:38

本文主要是介绍Cracking The Coding Interview2.3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <iostream>
#include <string>
using namespace std;
class linklist
{
private:class node{public:node(){}string data;node * next;};int size;
public:node *head;linklist(){head = new node;size = 0;}/***整表创建***/void Create(string *s,int size){if (s==NULL || size == 0){return;}node *p = new node;p->data = s[0];head->next = p;for (int i = 1; i<size; i++){node *t = new node;t->data = s[i];p->next = t;p=p->next;}p->next = NULL;this->size = size;}/***整表删除***/void Clear(){for (int i = 1;i<size+1; i++){Delete(i);}head = NULL;size = 0;}/***第i[i为1,2....size,下同]个元素前插入string型e***/void Insert(int i, string e){if (i<0 || i>size){return;}int t = i - 1;node *p = head;node *pn = p->next;while(t!=0){p = p->next;pn = pn->next;t--;}node *ee = new node;ee->data = e;ee->next = pn;p->next = ee;size ++;}/****获取第i个元素的值,并返回该值**/string Get(int i){if (i<=0 || i>size){return "Error: You input wrong num.";}int t = i;node *p =head;while(t!=0){p = p->next;t--;}return p->data;}/***删除第i个元素***/void Delete(int i){if (i<0 || i>size){return;}int t = i - 1;node *p = head;node *pn = p->next;while(t!=0){p = p->next;pn = pn->next;t--;}p->next = pn->next;delete pn;size --;}void Display(){if (head==NULL){return;}node * p;p=head->next;/*for (int i =0; i<size; i++){cout<<p->data<<"  ";p=p->next;}*/while(p!=NULL){cout<<p->data<<"  ";p=p->next;}cout<<endl;}~linklist(){}//		Implement an algorithm to delete a node in the middle of a single linked list, given only access to that node.
//
//		EXAMPLE
//
//Input: the node ‘c’ from the linked list a->b->c->d->e Result: nothing is returned, but the new linked list looks like a->b->d->e//未考虑c为尾节点的情况void DeleteNode(node *c){if (c==NULL || c->next == NULL){return;}node *cn = c->next;string cc = cn->data;c->next = cn->next;delete cn;c->data = cc;}
};int main()
{string str[8]={"sos","OMG","sos","OMG","OMG","OMG","fof","fof"};linklist s;s.Create(str,8);s.Display();//s.Insert(2,"bingo");//s.Display();//s.Delete(3);//s.Display();//cout<<s.Get(1)<<endl;//s.Clear();//s.Display();s.DeleteNode(s.head->next->next->next);s.Display();return 0;
}

这篇关于Cracking The Coding Interview2.3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438290

相关文章

【算法:二分查找】java算法二分查找,如何通过二分查找找到重复元素的第一个,coding

二分查找算法,是基于有序的结果集进行查询的 二分查找的时间复杂度是O(logN) 写一段二分查询的代码: public static void main(String[] args) {int[] data = new int[]{1, 2, 3, 3, 5, 5, 6, 8, 9, 9, 10};int queryData = 5;int index = queryDataIndex(qu

Cracking the Safe

原题链接:https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是,某个时刻能够打开保险箱的任一最短密码序列,需要包含所有密码子串。 答案应当是一个字符串,任意长度为n的子串的都是一种密码方案。 对于有n位,每位k种方案的密码串,共有k^n个。 题目要求最短,那么任意位置选出的子串应当是不重复的。 也就是说,一个

《WEB开发-HEXO博客搭建》第4章 同步到Coding

笔者博客地址 1.注册Coding.net账号 Coding官网:https://coding.net/ 【注意】如果不想花钱的话要绑定腾讯云可以免费升级,笔者使用的是绑定腾讯云升级的。 图1 2.新建项目 注意项目名与注册用的账户名一致,这里我用的是ouxiaolong。 图2 图3 3.添加公钥 上面设置完毕之后点击创建项目,然后点击设置->部署公钥->新建

代码规范工具大比拼---Alibaba Java Coding Guidelines

代码规范工具大比拼---Alibaba Java Coding Guidelines   一,序言        对于代码规范的工具,市场上有很多很多, 我们常常说:”工欲善其事必先利其器”, 一个非常强大的代码检查工具, 能让很多代码实践者减少很多多不必要的小错误,尤其是对于一个团队来说,能较好的统一代码规则.   二,详情    1,Sonar

【Git】更新拉取Coding子仓库代码 及 过程中用户名密码输什么 git submodule

背景: 克隆拉取完主仓库,没有初始化子仓库 主仓库目录下有.gitmodules文件,存储了子仓库路径和url [submodule "aa"]path = aaurl = git@e.coding.net:aa.git[submodule "bb"]path = bburl = git@e.coding.net:bb.git 在主仓库目录下输入以下命令拉取更新子仓库代码 git s

sublime text3 安装插件,以及Zen Coding 写法简单了解

参考的文章 1、 http://blog.csdn.net/admin_yi/article/details/53608965 2、 http://www.cnblogs.com/tinyphp/p/3217457.html 安装说明 3、 http://www.cnblogs.com/Rising/p/3741116.html 需要安装的插件的说明 4、 http://www.xia

iOS OC底层面试题(KVC(Key-value coding)

KVC(Key-value coding) -(id)valueForKey:(NSString *)key;-(void)setValue:(id)value forKey:(NSString *)key; KVC就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时

coding algorithm

迪杰斯特拉算法原理Dijkstra - 云+社区 - 腾讯云 (tencent.com)

eclipse开发提高coding 效率

请大家不要忽略编码效率对生产效率的提高影响,有点心得,跟大家分享下。 细节决定成败-6sigma。 btw:请大家不要跟我讨论编码效率的重要性,我同意有很多事情更重要。 麻烦投入门贴的朋友给点建议,谢谢。 写程序是一个创造过程,如同写文章,如果把思路理清楚,剩下的事情就是coding了。 纯coding的过程是很枯燥的,如何想办法把这个过程变得爽一点呢。 几个方面: 1.提

{ Cracking The Coding Interview: 150 programming QA } --- Arrays and Strings

Hashtable, ArrayList (Dynamically resizing array, providing O(1) access), StringBuffer (do string concatenation) 1. 判断string是否有重复字符,不允许使用其他数据结构。 Step 1: 问清楚限制,string的编码是ASCII还是Unicode a. 如果可以用其他数