网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

函数sort (NODE *head)的功能是;用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1(a)的链表进行一趟冒泡排序后,得到图4-1(b)所示的链表。

链表的结点类型定义如下:

typedef struct Node {

int data;

struct Node *next;

} NODE;

【C语言函数】

void sort (NODE *head)

{ NODE *ptr,*preptr, *endptr;

int tempdata;

ptr = head -> next;

while ((1)) /*查找表尾结点*/

ptr = ptr -> next;

endptr = ptr; /*令endptr指向表尾结点*/

ptr =(2);

while(ptr != endptr) {

while((3)) {

if (ptr->data > ptr->next->data){

tempdata = ptr->data; /*交换相邻结点的数据*/

ptr->data = ptr->next->data;

ptr->next->data = tempdata;

}

preptr =(4); ptr = ptr -> next;

}

endptr =(5); ptr = head->next;

}

}


参考答案

更多 “ 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】函数sort (NODE *head)的功能是;用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1(a)的链表进行一趟冒泡排序后,得到图4-1(b)所示的链表。链表的结点类型定义如下:typedef struct Node {int data;struct Node *next;} NODE;【C语言函数】void sort (NODE *head){ NODE *ptr,*preptr, *endptr;int tempdata;ptr = head -> next;while ((1)) /*查找表尾结点*/ptr = ptr -> next;endptr = ptr; /*令endptr指向表尾结点*/ptr =(2);while(ptr != endptr) {while((3)) {if (ptr->data > ptr->next->data){tempdata = ptr->data; /*交换相邻结点的数据*/ptr->data = ptr->next->data;ptr->next->data = tempdata;}preptr =(4); ptr = ptr -> next;}endptr =(5); ptr = head->next;}} ” 相关考题
考题 阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。【函数】define N 20main(){int i,j,min,tem,a[N];printf("please input twenty num:\n");for(i=0;i<N;i){printf("a[%d]=",i);scanf("%d",a[i]);}printf("\n");for(i=0;i<N;i)printf(",",a[i]);printf("\n");for(i=0;(1);i){min=(2);for(j=(3);j<N;j++)if((4))min=j;tem=a[i];(5);a[min]=tem;}printf("After sorted \n");for(i=0;i<N;i++)printf(",",a[i]);}

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。【函数2.1】int sum (int a[],int n){if(n>0) return (1);else (2);}【函数2.2说明】有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。【函数2.2】int compare (int a, int b, int c ){ int temp, max;(3) a:b;(4) temp:c;}【函数2.3说明】递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。【函数2.3】int dec( int a[], int n ){if(n<=1) return 1;if(a[0]<a[1]) return 0;return (5);}

考题 阅读以下说明和C语言函数,将应填入(n)。【说明】已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数 compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。图2-1(a)、(b)是经函数compress()处理前后的链表结构示例图。链表的结点类型定义如下:typedef struct Node{int data;struct Node *next;}NODE;【C语言函数】void compress(NODE *head){ NODE *ptr,*q;ptr= (1); /*取得第一个元素结点的指针*/while( (2) ptr->next) {q=ptr->next;while(q(3)) { /*处理重复元素*/(4)q->next;free(q);q=ptr->next;}(5) ptr->next;}/*end of while */}/*end of compress*/

考题 [说明]已知包含头节点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE *head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。处理过程中,当元素重复出现时,保留元素第一次出现所在的节点。图8-29(a)、(b)是经函数compress( )处理前后的链表结构示例图。链表的节点类型定义如下:typedef struct Node {int data;struct Node *next;}NODE;[C语言函数]void compress(NODE *head){NODE *ptr, *q;ptr= (1) ; /*取得第一个元素节点的指针*/while( (2) ptr->next) {q=ptr ->next;while(q (3) ){/*处理重复元素*/(4) =q ->next;free(q);q=ptr->next;}(5) =ptr->next;} /*end of while*/} /*end of compress*/

考题 试题四(共 15 分)阅读以下说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE *head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。图4-1(a)、(b)是经函数 compress()处理前后的链表结构示例图。链表的结点类型定义如下:typedef struct Node {int data;struct Node *next;}NODE;[C 语言函数]void compress(NODE *head){ NODE *ptr,*q;ptr = (1) ; /* 取得第一个元素结点的指针 */while ( (2) ptr - next) {q = ptr - next;while(q (3) ) { /* 处理重复元素 */(4) = q - next;free(q);q = ptr - next;}(5) = ptr - next;}/* end of while */}/* end of compress */

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

考题 阅读以下说明和C语言函数,将解答填入答题纸的对应栏内。【说明】函数sort (NODE *head)的功能是:用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图(a)的链表进行一趟冒泡排序后,得到图(b)所示的链表。

考题 用冒泡法对数组a中10个元素{60,70,99,10,90,40,20,50,30,80} 按从大到小的顺序进行排序。要求定义函数sort实现排序,在主函数中输出排好序的数组元素。