顺序表的就地逆置算法

作者&投稿:豫单 (若有异议请与网页底部的电邮联系)

试写一算法,实现顺序表的就地逆置。
算法基本思想:将数组的第一个元素与最后一个交换,第二个与倒数第二个交换,第三个与倒数第三个交换,直到结束。其中,定义一个临时变量,以便交换之用。算法实现如下:void reverse(int a[], int size){ int tmp;for (int i = 0; i < size\/2; ++i){ tmp = a[i];a[i] = a[size...

...算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表逆置...
数个元素的时候停止对调操作的条件).在写程序的时候线性表可以用一维数组代替.include <stdio.h> define LENGTH 11 int main(void){ int a[LENGTH];\/*用来表示当前调换位置的变量*\/ int i,j;\/*一个辅助调换的变量*\/ int tmp;printf("逆序前为:");\/*假定初始化一个线性表*\/ for(i=0;i<...

什么叫单链表就地逆置
1、普通循环法:普通循环法是逆置链表初始为空,表中节点从原链表中依次“删除”,再逐个插入逆置链表的表头,即“头插”到逆置链表中,使它成为逆置链表的“新”的第一个结点,如此循环,直至原链表为空。2、递归:递归是先假定有一个函数,可以将以head为头结点的单链表逆序,并返回新的头结点。将...

【数据结构】线性表(包括有序表)在顺序表和链表上的插入、删除、逆置操...
试设计一个算法,对带头结点的单链表实现就地逆置。【算法分析】1)空表或长度为1的表,不做任何处理;2)表长大于2时,做如下处理:①首先将整个链表一分为二,即从链表的第一元素结点处断开;②逐个地把剩余链表的当前元素q插入到链表的头部。【算法源代码】void LinkList_reverse(LinkList L){...

单链表就地逆置有几种方法
单链表就地逆置的两种(递归与普通循环)1.用递归算法,对于不带头结点的单链表(a1,a2,a3,a4,a5,a6)逆置后的结果为(a6,a5,a4,a3,a2,a1)考虑递归算法,若只有一个结点,则直接返回,若存在两个结点(a1,a2)则需要做的操作有:a2->next=a1;a1->next=NULL;return a2;a2即新的头结点,若有...

设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当...
设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。void inList(SqlList L,int x){if(L.length>=L.listsize) newbase=(ElemType *)realloc(L.elem, (L.listsize+LISTINCREMENT)*sizeof(ElemType)); if(!newbase)exit(OVERFLOW); L.elem=newbase; L.li...

清华大学严蔚敏数据结构题集完整答案(c语言版)
void reverse(SqList &A)\/\/顺序表的就地逆置{ for(i=1,j=A.length;i<j;i++,j--) A.elem[i]<->A.elem[j];}\/\/reverse 2.22 void LinkList_reverse(Linklist &L)\/\/链表的就地逆置;为简化算法,假设表长大于2{ p=L->next;q=p->next;s=q->next;p->next=NULL; while(s->next) { q->...

数据结构的问题~
4 试编写算法实现顺序表的逆置,即把顺序表A中的数据元素(a1,a2, …,an)逆置为(an,an-1, …,a1)。 5 已知A和B为两个非递减的线性表,现要求实现如下操作:从A中删除在B中出现的元素。试编写在顺序表中实现上述操作的算法。 6 试编写算法实现链表的就地逆置(不增加存储空间),即把链表A中的数据元素(a1,...

问:【数据结构】写一个算法 1.顺序存储线性表中的元素 按值非递减有...
=e;n++;printf("插入后的数据:\\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\\n");for(i=0,j=n-1;i<j;i++,j--){t=a[i];a[i]=a[j];a[j]=t;} printf("逆置后的数据:\\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\\n");return 0;} ...

void Converse是什么意思
\/* 单链表就地逆置算法 *\/ void converse(NODEPTR L){ NODEPTR p,q;p=L->next; q=p->next;L->next=NULL;while(p) \/* 对于当前结点p,用头插法将结点p插入到头结点之后 *\/ { p->next=L->next;L->next=p;p=q;q=q->next;} } 再举一例:--- --- \/* 单链表就地逆置的C...

当涂容13475722960问: 试用一个算法,实现顺序表的就地逆置, -
商都县愈通回答: int a[n]; //.... for(int i=0;i<n/2;i++) {int t=a[i];a[i]=a[10-i-1];a[10-i-1]=t; }

当涂容13475722960问: 顺序表逆置的算法思想和算法实现是什么 -
商都县愈通回答: 试写一算法,实现顺序表的就地逆置.即利用原表的存储空间将线性表(a1,a2,…,an) 逆置为(an,an-1,…,a1). 实现下列函数: void Inverse(SqList &L); 顺序表类型定义如下: typedef struct { ElemType *elem; int length; int listsize; } SqList; void Inverse(SqList &L)

当涂容13475722960问: 试写一算法,实现顺序表的就地逆置? -
商都县愈通回答: 算法基本思想:将数组的第一个元素与最后一个交换,第二个与倒数第二个交换,第三个与倒数第三个交换,直到结束.其中,定义一个临时变量,以便交换之用.算法实现如下:void reverse(int a[], int size) { int tmp; for (int i = 0; i < size/2; ++i)...

当涂容13475722960问: 试写一算法,实现顺序表的就地逆置.即(a1,a2,…,an)逆置为(an,…,a2,a1) -
商都县愈通回答:[答案] #include #define LENGTH 11 int main(void) { int a[LENGTH]; /*用来表示当前调换位置的变量*/ int i,j; /*一个辅助调换的变量*/ int tmp; printf("逆序前为:"); /*假定初始化一个线性表*/ for(i=0;i

当涂容13475722960问: 数据结构中有试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表逆置为 -
商都县愈通回答: 线性表的本地逆序可以用第一个元素和最末元素对调,第二个元素与倒数第二个元素对调.... 关键是要已知顺序表的长度(即元素总个数)和控制对调操作的结束条件(考虑奇数个元素和偶 数个元素的时候停止对调操作的条件).在写程序的时候...

当涂容13475722960问: java如何实现顺序表的就地逆置 -
商都县愈通回答: 实现一个环行数据结构就行了,大致思路如下:public class Ring{ RingElement ele;boolean direction;// 通过direction来控制向前还是向后 public Object next(){if(ele==null) return null;ele=direction?ele.next:ele.prev;return ele.value;}// 根...

当涂容13475722960问: 写一个算法,实现顺序表的就地逆置,即在原表的存储空间将线性表(a1,a2,...an - 1,an)逆置为(an,an - 1,... -
商都县愈通回答: 运行过了,没有任何问题,有什么不明白的可以交流下!!#include <stdio.h> int main() { typedef struct Lnod{ int data; struct Lnod *next; }Lnod,*Linklist; Linklist p,m,n,r,L,a,b; int i; L=(Linklist)malloc(sizeof(Lnod)*5); if(!L)exit(0); L->next=NULL; for(i...

当涂容13475722960问: 编写算法,实现顺序表逆置的操作 -
商都县愈通回答: node *reserve(node*head) { node*p1,*p2,*p3; if((head==NULL)||(head->next==NULL)) return head;p1=head; p2=p1->next; while(p2!=NULL) { p3=p2->next; p2->next=p1; p1=p2; p2=p3; } head->next=NULL; p1=head; return head; }

当涂容13475722960问: 写一算法,实现顺序表就地逆置,利用原表存储空间将线性表(a1,a2,…,an)逆置为(an - 1,an,…,a1) -
商都县愈通回答: 如果没有额外的指针,我是没有办法进行逆序的.


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网