如下两道数据结构菜鸟题,急求解决!!
(1)创建一个顺序表,存放在数组A[N]中,元素的类型为整型,设计算法调整A,使其左边的所有元素小于0,右边的所有元素大于0(要求算法的时间复杂度和空间复杂度均为O(n)...
(1)创建一个顺序表,存放在数组A[N]中,元素的类型为整型,设计算法调整A,使其左边的所有元素小于0,右边的所有元素大于0(要求算法的时间复杂度和空间复杂度均为O(n))。
(2) 建立一个循环单链表,其节点有left,data和right三个域,其中data为数据域,存放元素的有效信息,right域为指针域,指向后继节点,left为指针域,它的值为NULL。编写一个算法将此表改为循环双链表。 展开
(2) 建立一个循环单链表,其节点有left,data和right三个域,其中data为数据域,存放元素的有效信息,right域为指针域,指向后继节点,left为指针域,它的值为NULL。编写一个算法将此表改为循环双链表。 展开
1个回答
展开全部
第1题:假设数组A的下标为0到n-1,令i=0,j=n-1.
while (i<j)
{
while (a[i]<0) i++;
while (a[j]>0) j--;
if (i<j) swap(a[i], a[j]); //交换a[i], a[j]的值
}
第二题
i = head;
while (a[i].right != NULL) { a[i].right.left = i; i++; }
a[i].right = head;
a[head].left = i;
while (i<j)
{
while (a[i]<0) i++;
while (a[j]>0) j--;
if (i<j) swap(a[i], a[j]); //交换a[i], a[j]的值
}
第二题
i = head;
while (a[i].right != NULL) { a[i].right.left = i; i++; }
a[i].right = head;
a[head].left = i;
追问
能给个完整的程序代码吗?
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询