1樓:網友
什麼意思?連結串列僅僅是一種儲存結構而已啊。
已發過你郵箱。
我用的是插入排序,連結串列如果用冒泡的話,很有難度啊算了,共享一下吧!
#include
#define n 10
typedef struct node{
int data;
struct node *next;
node;int main()
node *h,*p,*q;
h=new node;
h->next=null;
int i;
for(i=0;i>p->data;
p->next=h->next;
h->next=p;
q=h->next->next;
h->next->next=null;
while(q)
p=h;while(p->next)
if((p->next->data)>(q->data)) break;
p=p->next;
node *t=q;
q=q->next;
t->next=p->next;
p->next=t;
p=h->next;
while(p)
if(p->data%2)
cout<<(p->data)<<
p=p->next;
return 0;
寫得有點累,希望給多點,哈哈。
2樓:網友
我看了你的程式,其實就是乙個氣泡排序,在最後只是輸出了基數而已,但是你所謂的用連結串列形似輸出,就有點讓人摸不著頭腦啊!是不是你要用乙個->來連線說有的數字啊?
關於連結串列的問題,有以下程式
3樓:網友
這個不是連結串列,只是普通結構體。
函式f為:void f(struct a t),因此引數是傳值,f 函式內形參的變化不會對實參有影響。
再看主函式 :struct a a=;,這樣a的成員a被初始化為1001,a的成員b被初始化為"zhangda",a的成員c被初始化為。
下面的f(a)呼叫對a沒影響。
所以下面的printf("%d,%s,%",,,輸出是:
1001,zhangda,
c語言中用雙向連結串列:如何將下列**輸出是從小到大的順序輸出如輸入90,100,70輸出70,90,120。。。求**
4樓:網友
。我了個去,你題目我都有點暈?既然是雙向連結串列考什麼從小到大?應該是逆序吧?
求問這個程式輸出單連結串列表的時候為什麼只輸出第乙個結點呢??
5樓:匿名使用者
這個**從某種意義上來說是沒有問題的。
你認為有問題主要是因為你的輸入和**要求的不一樣。如果你按照以下形式輸入,輸出結果就不會有任何問弊頌題。
例如:輸入以下兩行,6p95432
5abcde
輸出結果將是:abcdep95432
這樣卜脊是沒有任何問題的。
也就是說在輸入的長度後租弊鄭面不要回車,而是直接接著輸入其他非數字的字母,這樣就不會有問題。
以下程式為什麼不能輸出l連結串列中的資料
6樓:陸美富
經檢測,你的以上**是可以輸出資料的,你把我的**執行一下。就知道了。#include ""
#include ""
#include ""
#include "iostream"
using namespace std;
typedef struct num
num;int main()
d->next=null;
l=head;
while(l->next!=null)
system("pause");
return exit_success;
return 0;}
以下程式的輸出結果是,以下程式的輸出結果是( )?
if a 10 ok1 a 10,所以 a 10 不成立,btw,這個地方 if else 之間 什麼都沒有,至少應該有個分號 else if ok2 x 10 ok2 0,所以 不成立 else x 1 最後結果 x 1 小章33學姐 if後面邏輯值為真時執行,if a 10 false else...
以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?
c語言函式引數都是單向傳遞的,直接傳值是不可能改變原來的數值的。此題答案30,20 你的printf好像有點問題 include void fun int p1,int p2,int p3 main 按lz所寫 輸出為30,20,因為函式的引數為所宣告變數的副本,這樣不會改變原有的變數。如果想改變原...
用C語言輸出以下三角形形式的圖案
include void main printf n 執行 請按任意鍵繼續. 好運走了 縱向,橫向都做乙個for 迴圈 換句話說 橫向裡再包涵乙個縱向的for 迴圈。for r 0 r 6 r 不知道樓主要的是那種 第一種 效果 6 include stdio.h include conio.h v...