qingsen0202 2021-09-15 10:20 采纳率: 0%
浏览 25

(数据结构)不知道哪里出错了,程序无法执行

void ListOrder_L(LinkList head)
{
	LinkList tp,m;
	ElemType bei;
	tp=head->next;
	m=tp->next;
	while(tp!=NULL) 
	  while(m!=NULL)
	  {
		if(tp->data<m->data)
		{
		bei=tp->data;
		tp->data=m->data;
		m->data=bei;
		m=m->next;
		} 
		else
		{
		m=m->next;
		}
	  }
	  tp=tp->next;
	  m=tp->next;
}

自己写的一个排序函数,给输入的字符进行排序

int main()
{
	int i;
	char cmd,e;
	LinkList head;
	head=(LinkList)malloc(sizeof(LNode));
	head->next=NULL;
	CreateList_L(head);
	ListPint_L(head);
	do
	{printf("i,I...插入\n");
	printf("d,D...删除\n");
	printf("q,Q...退出\n");
	printf("o,O...排序\n");
	do
	  {
	  	fflush(stdin);
	  	scanf("%c",&cmd);
	  }while((cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q')&&(cmd!='i')&&(cmd!='I')&&(cmd!='o')&&(cmd!='O'));
	  switch(cmd)
	  {
	  	case 'i':
	    case 'I':
	    	printf("请输入你要插入的数据:");
	    	fflush(stdin);
	    	scanf("%c",&e);
	    	printf("请输入你要插入的位置:");
	    	scanf("%d",&i);
	    	ListInsert_L(head,i,e);
	    	ListPint_L(head);
	    	break;
	    	case 'd':
	    	case 'D':
	    		printf("请输入你要删除元素的位置:");
	    		fflush(stdin);
	    		scanf("%d",&i);
	    		ListDel_L(head,i);
	    		ListPint_L(head);
	    		break;
	    		case 'o':
	    		case 'O':
	    			ListOrder_L(head);
	    			break;
	  }
	}while((cmd!='q')&&(cmd!='Q'));
	return 1;
}

这是程序,执行的时候输入O与o就没反应了

  • 写回答

2条回答 默认 最新

  • RE自动机 2021-09-15 10:38
    关注

    可能是死循环或访问到奇怪的地方,建议在循环中加个输出判断

    评论

报告相同问题?

问题事件

  • 创建了问题 9月15日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器